商業模式 商業模式是幫助企業成功的“秘訣”,它通過整合企業內外部的多種要素,構建起一個全面、高效且具有獨特競爭優勢的運營體系。這一體系的目的是滿足市場的需求,實現各利益相關者價值最大化,并確保企業的長期盈利能力。 商業模式的核心架構由三個緊密相連的環節構成:創造價值、傳遞價值和獲取價值。 創造價值: ...
1. 通信基礎 1.1. 每個分布式系統都包含通過網絡進行通信的軟件組件 1.2. 硬件 1.2.1. 全球互聯網就是一臺異構機器,由不同類型的網絡通信通道和設備組成,它們每秒將數百萬條消息通過網絡傳送到預定目的地 1.2.2. 對于單個光纖鏈路,可以提供每秒超過70 Tbps的總帶寬 1.2.3. ...
大家好,我是湯師爺~ 在工作當中,我們經常會聽到以下說法: 產品負責人說,現在的業務架構太復雜,需要仔細梳理下。 技術領導說,這個項目很復雜,需要做下系統架構方案評審。 研發經理說,這次秒殺活動訪問量非常大,需要用到高并發架構方案。 一線研發說,互聯網大廠都會用到微服務架構,我要學學微服務架構設計。 ...
1. 系統架構基礎 1.1. 幾乎所有大規模系統都是從小規模開始,在成功路上逐漸發展壯大 1.2. 通信使用標準的應用層網絡協議,通常是HTTP 1.3. Java EE和Java的Spring框架 1.4. Python的Flask 1.5. 隨著應用程序的特性變得更加豐富,單體應用程序的復雜性往 ...
狀態模式(State Pattern)的定義是這樣的:類的行為是基于它的狀態改變的。注意這里的狀態不是狹義的指對象維護了一個“狀態”字段,我們傳入了不同的枚舉值,對象整體的表現行為(對外方法)就改變了。而是指內部的(任意)字段如果發生了變化,那么它的狀態就變了,那么它對外的表現形式就變了。狀態模式是 ...
1. 簡介 1.1. 在過去20年里,軟件系統的規模、復雜性和容量都出現了前所未有的增長 1.2. 代碼是容器、數據庫、消息傳遞系統和其他組件的一部分,通過調用API和構建指令,構成你的應用程序 1.3. 可擴展(scalable)是軟件工程中用來描述軟件系統能夠適應增長的術語 1.3.1. 可擴展 ...
對程序員來說,架構是一個常見詞匯。如果想成為一名架構師,對架構概念的理解必須清晰。否則,在制定架構方案時,肯定會漏洞百出,問題頻發,這將對你的面試、晉升和團隊領導產生負面影響。 我們看下維基百科關于架構的定義: 軟件架構是抽象描述系統的一組結構,以及構建這些結構的規則。這些結構包括:軟件要素、要素之 ...
PLC Structured Text Object Oriented Programming PLC結構化文本(ST)——結構體屬性外部調用(Issue) 問題 很久之前在做OOP編程時,遇到過這樣一個問題,創建一個屬性類型是結構體,而我在外部訪問結構體內部成員時編譯器(TwinCAT3)直接報錯 ...
1. 基本信息 軟件設計的要素 丹尼爾·杰克遜著 浙江教育出版社,2024年5月出版 1.1. 讀薄率 書籍總字數236千字,筆記總字數18853字。 讀薄率18853÷236000≈8% 1.2. 讀厚方向 構建可擴展分布式系統方法與實踐 設計模式:可復用面向對象軟件的基礎 程序員修煉之道:通向務 ...
1. 概念完整性 1.1. 當概念組合成一個軟件時,它們可以同步以便協調行為 1.1.1. 同步可能會消除一個概念的某些行為,但決不會添加與該概念的規范不一致的新行為 1.1.2. 在使用概念設計軟件時,即使你沒有精確定義同步,至少要說服自己,概念之間的每次交互至少在原則上都可以被視為同步 1.2. ...
1. 概念的特性 1.1. 專一性原則(specificity principle)認為概念與目的應該一一對應 1.1.1. 專一性原則已被證明是概念設計中最有用的原則之一 1.1.2. 一個概念最多只能滿足一個目的 1.2. 很少有沒有目的的概念 1.2.1. 如果本應隱藏的用戶機制被暴露,可能會 ...
1. 概念的關系 1.1. 概念是獨立的,彼此間無須相互依賴 1.1.1. 一個概念是應該獨立地被理解、設計和實現的 1.1.2. 獨立性是概念的簡單性和可重用性的關鍵 1.2. 軟件存在依賴性 1.2.1. 不是說一個概念需要依賴另一個概念才能正確運行 1.2.2. 只有當一個概念存在時,包含另一 ...
模板方法模式(Template Method Pattern)也稱之為模板模式(Template Pattern),是設計模式中最簡單的模式之一。 先來看定義:定義一個操作中算法的骨架(模板),將一些步驟延遲到子類中,模板方法使得子類可以不改變算法的結構即可重新定義算法某些特定的步驟。這個定義還是有 ...
1. 概念的組合 1.1. 概念不像程序那樣,可以用較大的包含較小的 1.1.1. 每個概念對用戶來說都是平等的,軟件或系統就是一組串聯運行的概念組合 1.2. 概念是通過操作來同步組合的 1.2.1. 同步并不增加新的概念操作,但會限制已有的操作,從而消除一些獨立概念可能會出現的操作序列 1.3. ...
JDBC JDBC(Java DataBase Connectivty,Java數據庫連接)API,是一種用于執行Sql語句的Java API,可以為關系型數據庫提供統一的訪問,其由一組Java編寫的類和接口組成. JDBC驅動程序 起初,SUN公司推出JDBC API希望能適用于所有數據庫,但實際 ...
PLC Structured Text Object Oriented Programming PLC結構化文本(ST)——變量類型和變量屬性 變量類型 變量類型關鍵字 說明 外部讀寫 內部讀寫 VAR 內部變量,程序組織單元內部的變量 不允許 讀/寫 VAR_INPUT 輸入變量,由外部提供,在程 ...
PLC Structured Text Object Oriented Programming PLC結構化文本(ST)——臨時&靜態&實例-變量(TEMP&STAT&INST) 臨時變量(VAR_TEMP) 臨時變量在每次調用POU時都會初始化。 用在程序(PRG) 和 功能塊(FB) 中。 在方 ...
1. 要素 1.1. 概念的定義包括名稱、目的、狀態、操作和操作原則 1.2. 操作原則(operational principle) 1.2.1. 操作原則用于展示如何通過操作實現目的,這是理解概念的關鍵 1.2.2. 展示如何通過操作的組合實現概念的目的,包含一個或多個典型的使用場景 1.2.3 ...
PLC Structured Text Object Oriented Programming PLC結構化文本(ST)——構造函數(FB_init) 構造函數的作用 簡單來說,構造函數是一種方法,用來初始化類的實例也就是對象。類在創建時會有一個默認的構造函數,如果自定義一個構造函數,那么默認構造函 ...
PLC Structured Text Object Oriented Programming PLC結構化文本(ST)——訪問修飾符 訪問修飾符及作用 根據出現位置不同劃分 1.出現在功能塊(FB)中 ①.Public:最低訪問級別,此功能塊可以被任何地方聲明調用。 ②.Internal:只允許當 ...