原创 軟件設計模式學習(十七)職責鏈模式

系統中如果存在多個對象可以處理一個同一請求,可以通過職責鏈模式將這些處理請求的對象連成一條鏈,讓請求沿着該鏈進行傳遞。如果鏈上的對象可以處理該請求則進行處理,否則將請求轉發給下家處理 模式動機 很多情況下,可以處理某個請求

原创 軟件設計模式學習(十四)外觀模式

外觀模式是一種使用頻率非常高,但理解較爲簡單的設計模式,通過引入一個外觀角色來簡化客戶端與子系統之間的操作,爲複雜的子系統調用提供一個統一的入口,使子系統與客戶端的耦合度降低,且客戶端調用非常方便。 模式動機 在大多數情況

原创 軟件設計模式學習(十三)裝飾模式

裝飾者模式是一種用於替代繼承的技術,它通過一種無須定義子類的方式給對象動態增加職責,使對象之間的關聯關係取代類之間的繼承關係。 模式動機 裝飾者可以在不改變一個對象本身的基礎上給對象增加額外的新行爲,如一張照片,可以不改變

原创 Java 虛擬機中的運行時數據區分析

本文基於 JDK1.8 闡述分析 運行過程 我們都知道 Java 源文件通過編譯器編譯後,能產生相應的 .Class 文件,也就是字節碼文件。而字節碼文件通過 Java 虛擬機中的解釋器,編譯成特定機器上的機器碼。 跨平臺

原创 學習 MyBatis 的一點小總結 —— 底層源碼初步分析

文章目錄MyBatis 如何獲取數據庫源?MyBatis 如何獲取 sql 語句?MyBatis 如何執行 sql 語句?MyBatis 如何實現不同類型數據之間的轉換? 在過去程序員使用 JDBC 連接數據庫,總會帶來諸多不便。

原创 找出數組中重複的數字

在一個長度爲 n 的數組 nums 裏的所有數字都在 0~n-1 的範圍內。數組中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出數組中任意一個重複的數字。 示例 1: 輸入: [2, 3, 1,

原创 軟件設計模式學習(十一)橋接模式

橋接模式 橋接模式用一種很巧妙的方式處理繼承存在的問題,用抽象關聯取代了傳統的多層繼承,將類之間的靜態繼承關係轉換爲動態的對象組合關係,使得系統更加靈活,並易於擴展,同時有效地控制了系統中類的個數。 模式動機 設想如果要繪製

原创 軟件設計模式學習(九)單例模式

單例模式 通過單例模式可以保證系統中一個類只有一個實例而且該實例易於被外界訪問,從而方便對實例個數的控制並節約系統資源。如果希望在系統中某個類的對象只能存在一個,單例模式是最好的解決辦法。 模式動機與定義 對系統中某些類來說

原创 軟件設計模式學習(五)工廠方法模式

工廠方法模式 工廠方法模式是簡單工廠模式的延伸,它繼承了簡單工廠模式的優點,同時彌補了簡單工廠的缺陷,更好地符合開閉原則的要求,增加新的具體產品對象不需要對已有系統作任何修改。 模式定義 工廠方法模式又稱爲工廠模式,也叫虛擬

原创 軟件設計模式學習(四)簡單工廠模式

簡單工廠模式 簡單工廠模式是最簡單的設計模式之一,雖然不屬於二十三種設計模式,但應用也較爲頻繁。學習它也是學習其他創建型模式的基礎 模式定義 在實際軟件開發中,有時需創建一些來自於相同父類的類的實例,爲此可以專門定義一個類

原创 軟件設計模式學習(三)軟件模式概述

軟件模式概述 設計模式已廣泛應用於面向對象系統設計和開發,成爲面向對象技術的一個重要組成部分。當人們在特定環境下遇到特定類型的問題時,可以採用他人已使用過的一些已經成功的解決方案,既降低了分析、設計和實現的難度,也使得系統具有更

原创 軟件設計模式學習(二)面向對象設計原則

面向對象設計原則 面向對象設計原則是學習設計模式的基礎,每一種設計模式都符合某一種或多種面向對象設計原則。在軟件開發中使用這些原則可以提高軟件的可維護性和可複用性,讓我們可以設計出更加靈活也更容易擴展的軟件設計,實現可維護性複用

原创 軟件設計模式學習(一)統一建模語言

UML簡介 統一建模語言(UML)是一種可視化的標準建模語言,通過UML可以構造軟件系統的藍圖。在設計模式中,使用UML來分析和設計每一個模式的結構,描述每一個模式實例,幫助我們深入理解設計模式。比如要蓋一棟房子,需要先設計圖紙

原创 軟件工程(二)軟件生存週期與軟件過程

軟件生存週期 一個軟件從開始立項起,到廢棄不用爲止,統稱軟件的生存週期。典型的軟件生存週期的主要活動包括: 需求分析 明確用戶需要解決的問題,分析員根據對問題的理解提出關於系統目標與範圍的說明,從用戶視角對需求進行定義和分析,

原创 軟件工程(四)需求工程與需求分析

軟件需求的定義 軟件開發的首要任務是確定軟件需求,軟件需求指一個軟件系統必須遵循的條件或具備的能力。這裏的條件和能力可從兩方面理解:一是用戶解決問題或達到目標所需的條件或能力,即系統的外部行爲;二是系統爲滿足合同、規範或其他規定文