一文搞懂應用架構的3個核心概念

如果你是一名業務開發,你可能要說,我整天就是做CRUD(增刪改查),哪裡需要瞭解什麼應用架構設計? 經常有人說,程式員 35 歲之後很容易陷入瓶頸,被行業淘汰,我覺得原因其實就在此。 有些朋友在寫代碼的時候,可能沒有太多考慮非功能性的需求、擴展性,只是完成功能,覺得能用就好。做事情的時候,也沒有長遠 ...

發佈訂閱模式的TS實現

簡介 發佈訂閱模式是一種常用的用於解耦的模式。 它和觀察者模式的區別在於: 觀察者模式:被觀察者需要維護一個觀察者的集合; 發佈訂閱模式:通信雙方互相不知道對方的存在,通過第三方事件匯流排進行通信。 發佈訂閱模式在前端領域很常見,例如: Vue 框架中組件的$on和$emit方法; Node.js 中 ...

過濾器模式

分散式事務的兩階段提交(2PC)和三階段提交(3PC)是分散式系統中常用的事務管理協議,它們各自有優缺點。 兩階段提交(2PC) 流程: 準備階段(Prepare Phase): 協調者向所有參與者發送請求,詢問是否可以提交事務。 每個參與者執行本地事務操作,但不提交(僅預提交),並返回成功或失敗的 ...

SCS(- )架構介紹

SCS(- )架構介紹SCS(- )架構定義與特性自主Web應用:SCS是一個自主的Web應用程式,包含Web UI、邏輯和持久化層。這種完整性確保了一個用戶故事通常可以通過修改一個SCS來實現。 API的可選性:SCS可以有一個服務API,但這並非必需。如果SCS內的邏輯僅由SCS內的UI使用,則 ...

醫療行業解決方案參考

醫療行業解決方案互聯網醫院架構患者門戶:提供患者信息查詢、掛號、繳費等基本服務。 預約掛號:允許患者線上預約掛號,減少現場排隊等候時間。 掛號查詢:患者可以查詢掛號狀態和相關信息。 院內導診:提供院內導航服務,幫助患者快速找到診室或部門。 檢驗報告查詢:患者可以線上查詢檢驗結果。 檢查報告查詢:提供 ...

全網最適合入門的面向對象編程教程:34 Python的內置數據類型-Python常用複合數據類型:元組和命名元組

元組是不可變的序列類型,可以包含不同類型的元素。命名元組是元組的子類,它允許你為元組中的位置指定名稱,從而使代碼更加清晰,本文主要介紹了兩種元組的使用方法和應用場景。 ...

RPC和 HTTP協議

RPC 和HTTP 的區別 服務發現 HTTP,知道服務功能變數名稱,可以通過 DNS 解析 得到 服務的IP地址,從而進行訪問 RPC 需要一個專門的中間服務去保存服務名和IP信息(註冊中心,nacos、consul),想要訪問某個服務,就得同時註冊到 中間服務,然後獲取需要頂用服務的IP 和埠信息 底 ...

深入理解 JavaScript 單例模式及其應用

引言 在JavaScript開發中,設計模式是解決特定問題的有效手段。單例模式(Singleton Pattern)是其中一種常見且有用的模式。儘管網上有許多關於單例模式的解釋和實現,本篇將從實際工作中的需求出發,探討如何更好地理解和應用單例模式,以編寫更復用、更高效的代碼。 什麼是單例模式? 單例 ...

設計模式:代理模式詳解

需求場景 按著慣例,還是以一個應用場景作為代理模式的切入點。現在有一個訂單系統,要求是:一旦訂單被創建,只有訂單的創建人才可以修改訂單中的數據,其他人則不能修改。 基本實現思路 按著最直白的思路,就是查詢資料庫中訂單的創建人和當前Session中的登錄賬號ID是否一致。 class Order { ...

設計模式之簡單工廠模式(學習筆記)

定義 簡單工廠模式(Simple Factory Pattern)是一種創建型設計模式,它定義一個用於創建對象的介面,但由一個單獨的類來實現實際創建的工作。簡單工廠模式通過在一個類中集中管理對象的創建過程,可以減少客戶端與具體類之間的耦合,使得代碼結構更加清晰和易於維護。通過專門定義一個類來負責創建 ...

全網最適合入門的面向對象編程教程:18 類和對象的 Python 實現-多重繼承與 PyQtGraph 串口數據繪製曲線圖

本文主要介紹了Python中創建自定義類時如何使用多重繼承、菱形繼承的概念和易錯點,同時講解瞭如何使用PyQtGraph庫對串口接收的數據進行繪圖。 ...

設計模式之工廠模式(學習筆記)

定義 工廠方法模式是一種創建型設計模式,它定義了一個用於創建對象的介面,但由子類來決定實例化哪一個類。工廠方法使得類的實例化延遲到子類,這樣可以讓客戶端在不需要知道具體類的情況下創建對象。工廠方法模式通過使用繼承和多態性,允許子類來控制對象的創建方式,能夠更好地應對對象創建的複雜性和變化性。 為什麼 ...

雲屏設備整機軟體升級方案

最近時間稍微空閑,整理下雲屏整機設備的OTA流程及方案。之前開發時有過定義/設計,這裡稍微整理總結下 整機軟體有很多模塊,系統及外設固件、Windows服務、Windows應用,比如系統點屏9969、攝像頭固件、觸摸框固件、顯卡驅動、Windows一些自研服務(用於通信以及系統修複等)、全家桶應用( ...

設計模式之抽象工廠模式(學習筆記)

定義 抽象工廠模式是一種創建型設計模式,它提供一個介面,用於創建一系列相關或依賴的對象,而無需指定它們的具體類。抽象工廠模式將對象的創建過程抽象化,允許子類通過實現具體工廠類來定製對象的創建。 為什麼使用抽象工廠模式 產品族的一致性 抽象工廠模式確保同一產品族中的對象之間的一致性。 部分遵循開閉原則 ...

設計模式之適配器模式(學習筆記)

定義 適配器模式是一種結構型設計模式,它允許將一個類的介面轉換為客戶端希望的另一個介面。適配器使得原本由於介面不相容而不能一起工作的類可以協同工作。通過創建適配器類,可以將現有類的介面轉換成目標介面,從而使這些類能夠在一起工作。 為什麼使用適配器模式 相容性 適配器模式能夠解決由於介面不相容而無法直 ...

在AWS無伺服器架構上實施應用程式介面

本文介紹了在 AWS 無伺服器架構上實現 RESTful API 的過程。它詳細概述了架構、數據流和可使用的 AWS 服務。本文還介紹了無伺服器架構與傳統方法相比的優勢。什麼是無伺服器架構? 無伺服器架構,又稱無伺服器計算或功能即服務,是一種軟體設計方法,允許開發人員在不管理底層基礎設施的情況下構建 ...

全網最適合入門的面向對象編程教程:20 類和對象的 Python 實現-組合關係的實現與 CSV 文件保存

本文主要介紹了在使用Python面向對象編程時,如何實現組合關係,同時對比了組合關係和繼承關係的優缺點,並講解瞭如何通過csv模塊來保存Python接收/生成的數據。 ...

一種優秀的虛擬機記憶體架構 - AQ

源鏈接:https://www.axa6.com/zh/an-excellent-virtual-machine-memory-architecture 簡介 虛擬機記憶體架構直接影響虛擬機的性能和占用。設計一個優秀的架構可以有效提升性能和效率。 本文將介紹AQ虛擬機使用的記憶體架構,以及AQ虛擬機記憶體 ...

一周排行
  • 最近做項目過程中,使用到了海康相機,官方只提供了C/C++的SDK,沒有搜尋到一個合適的封裝了的C#庫,故自己動手,簡單的封裝了一下,方便大家也方便自己使用和二次開發 ...
  • 前言 MediatR 是 .NET 下的一個實現消息傳遞的庫,輕量級、簡潔高效,用於實現進程內的消息傳遞機制。它基於中介者設計模式,支持請求/響應、命令、查詢、通知和事件等多種消息傳遞模式。通過泛型支持,MediatR 可以智能地調度不同類型的消息,非常適合用於領域事件處理。 在本文中,將通過一個簡 ...
  • 前言 今天給大家推薦一個超實用的開源項目《.NET 7 + Vue 許可權管理系統 小白快速上手》,DncZeus的願景就是做一個.NET 領域小白也能上手的簡易、通用的後臺許可權管理模板系統基礎框架。 不管你是技術小白還是技術大佬或者是不懂前端Vue 的新手,這個項目可以快速上手讓我們從0到1,搭建自 ...
  • 第1章:WPF概述 本章目標 瞭解Windows圖形演化 瞭解WPF高級API 瞭解解析度無關性概念 瞭解WPF體繫結構 瞭解WPF 4.5 WPF概述 ​ 歡迎使用 Windows Presentation Foundation (WPF) 桌面指南,這是一個與解析度無關的 UI 框架,使用基於矢 ...
  • 在日常開發中,並不是所有的功能都是用戶可見的,還在一些背後默默支持的程式,這些程式通常以服務的形式出現,統稱為輔助角色服務。今天以一個簡單的小例子,簡述基於.NET開發輔助角色服務的相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 第3章:佈局 本章目標 理解佈局的原則 理解佈局的過程 理解佈局的容器 掌握各類佈局容器的運用 理解 WPF 中的佈局 WPF 佈局原則 ​ WPF 視窗只能包含單個元素。為在WPF 視窗中放置多個元素並創建更貼近實用的用戶男面,需要在視窗上放置一個容器,然後在這個容器中添加其他元素。造成這一限制的 ...
  • 前言 在平時項目開發中,定時任務調度是一項重要的功能,廣泛應用於後臺作業、計劃任務和自動化腳本等模塊。 FreeScheduler 是一款輕量級且功能強大的定時任務調度庫,它支持臨時的延時任務和重覆迴圈任務(可持久化),能夠按秒、每天/每周/每月固定時間或自定義間隔執行(CRON 表達式)。 此外 ...
  • 目錄Blazor 組件基礎路由導航參數組件參數路由參數生命周期事件狀態更改組件事件 Blazor 組件 基礎 新建一個項目命名為 MyComponents ,項目模板的交互類型選 Auto ,其它保持預設選項: 客戶端組件 (Auto/WebAssembly): 最終解決方案裡面會有兩個項目:伺服器 ...
  • 先看一下效果吧: isChecked = false 的時候的效果 isChecked = true 的時候的效果 然後我們來實現一下這個效果吧 第一步:創建一個空的wpf項目; 第二步:在項目裡面添加一個checkbox <Grid> <CheckBox HorizontalAlignment=" ...
  • 在編寫上位機軟體時,需要經常處理命令拼接與其他設備進行通信,通常對不同的命令封裝成不同的方法,擴展稍許麻煩。 本次擬以特性方式實現,以兼顧維護性與擴展性。 思想: 一種命令對應一個類,其類中的各個屬性對應各個命令段,通過特性的方式,實現其在這包數據命令中的位置、大端或小端及其轉換為對應的目標類型; ...