一 軟體設計遵循的基本原則
1 高內聚,低耦合
乙個軟體系統要有乙個穩定的架構,不會隨需求的改變而發生巨大的變動。因此,高內聚、低耦合是乙個軟體系統設計中必須遵循的基本原則。
2 面向抽象程式設計
在面向過程的軟體開發中,上層元件呼叫下層元件,就意味著上層元件依賴於下層元件,當下層元件發生劇烈變化時,上層元件也要跟著一起發生變動,這將導致軟體元件模組的復用性大大降低,從而增加軟體開發成本,使軟體結構設計上存在一定的臃腫性,不利於後期系統維護工作。
3 多用組合少用繼承
在物件導向的軟體設計中,對於類的擴充套件,首先想到的是使用類的繼承來實現,由子類繼承父類,從而完成對子類功能的擴充套件。繼承的好處是可以盡量讓相同的屬性或者功能復用,但是隨著專案越來越大,需求的不斷變化,繼承就會變得越來越臃腫,後期難以控制和維護。最重要的是,繼承會不分青紅皂白地把父類的公有和受保護的方法統統繼承下來,而這些方法可能是子類不需要的功能,會對子類產生一些危害。
4 「開-閉」原則
「開-閉」原則,即「對擴充套件開放,對修改關閉」,指的是在軟體設計中,當對某一軟體實體進行擴充套件時,盡量不要去修改原有的軟體實體,換句話說就是在不修改原有軟體實體的情況下對其進行擴充套件。這種軟體設計方式其實是一種目標,它考慮了軟體後期的維護等其他因素。乙個軟體系統如果可以達到這個目標,那它就是可擴充套件、易維護的。
二 設計模式概述
1 什麼是設計模式
設計模式時一套被反覆使用,多數人知曉的,經過分類編目的**設計經驗總結。使用設計模式的目的是為了提高**的可重用性,讓**更容易被他人理解,使系統治理更加***,系統更加可靠。
2 為什麼需要設計模式
首先,它可以提公升個人的程式設計能力、思維能力和設計能力,極大提高工作效率,讓個人獲得更大發展空間;
其次,對於企業,應用設計模式可使軟體產品質量得到保證,系統穩定性大大提公升,為企業創造出更多的利潤上公升空間;
最後,個人和企業都在不斷地發展壯大,自然會創造出更多的社會價值,為社會作出更多的貢獻。
3 如何正確應用設計模式
實踐是需要理論知識積累的。要想正確應用各種設計模式,首先需要學習設計模式,掌握設計模式的實現要點,最重要的是在學習設計模式當中掌握軟體設計原則。設計模式是前人的實踐經驗總結出來的,具有固定的實現方式,但是設計原則是活的,是需要我們認真體會和領悟的。
三 設計模式的分類
1 建立型模式
建立型模式用來處理物件的建立過程,主要包含以下5種設計模式:
工廠方法模式(factory method pattern)
抽象工廠模式(abstract factory pattern)
建造者模式(builder pattern)
原型模式(prototype pattern)
單例模式(singleton pattern)
2 結構型模式
結構型模式用來處理類或者物件的組合,主要包含以下7種設計模式:
介面卡模式(adapter pattern)
橋接模式(bridge pattern)
組合模式(composite pattern)
裝飾者模式(decorator pattern)
外觀模式(facade pattern)
享元模式(flyweight pattern)
**模式(proxy pattern)
3 行為型模式
行為型模式用來對類或物件怎樣互動和怎樣分配職責進行描述:
責任鏈模式(chain of responsibility pattern)
命令模式(command pattern)
直譯器模式(interpreter pattern)
迭代器模式(iterator pattern)
中介者模式(mediator pattern)
備忘錄模式(memento pattern)
觀察者模式(observer pattern)
狀態模式(state pattern)
策略模式(strategy pattern)
模板方法模式(template method pattern)
訪問者模式(visitor pattern)
設計模式概述
什麼是設計模式?通常會有以下幾個定義 設計模式描述了軟體設計過程中某一類常見問題的一般性解決方案。物件導向設計模式描述了物件導向設計過程中,特定場景下,類與相互通訊的物件之間常見的組織關係。每乙個模式描述了乙個在我們周圍不斷重 生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次的使用該方案...
設計模式 概述
第一章 簡單工廠模式 1.物件導向的好處 通過封裝 繼承 多型把程式的耦合度降低。用設計模式使得程式更加的靈活,容易修改,並且易於復用。簡單工廠模式 到底要例項化誰,將來會不會增加例項化的物件,比如增加開根運算,這是很容易變化的地方,應該考慮用乙個單獨的類來做這個創造例項的過程,這就是工廠。類圖 類...
設計模式概述
面試的時候,考察設計模式,就像是 天王蓋地虎,寶塔鎮河妖 一樣的黑話。在道上混,雖然不知道會碰到什麼鬼神,知道內涵意義的同時,也需要知道這些形式上的東西到底是怎麼一一表述的。不然,咋死的都不知道 設計模式的實現 設計模式的目的 對一些常用的設計模式套用上面的描述結構 實現 目的 實現 目的 實現 目...