用設計模式使得程序更加的靈活,容易修改,而且易於複用程序員
經過封裝、繼承、多態把程序的耦合度下降算法
讓業務邏輯與界面邏輯分開,讓它們之間的耦合度降低。只有分離開,才容易達到容易維護或擴展編程
面向對象的編程,並非類越多越好,類的劃分是爲了封裝,但分類的基礎是抽象,具備相同屬性和功能的對象的抽象集合纔是類設計模式
需求的變動是必然!因此開發者應該的是考慮如何讓本身的程序更能適應變化,而不是抱怨客戶的無理,客戶不會管程序員加班時的汗水,也不相信程序員失業時的眼淚設計
『策略模式』定義了算法家族,分別封裝起來,讓它們之間能夠互相替換, 此模式讓算法的變化, 不會影響到使用算法的客戶對象
封裝變化點是咱們面向對象的一種很重要的思惟方式繼承
最初的策略模式是有缺點的,客戶端必須知道全部的策略類,並自行決定使用哪個策略類。這就意味着客戶端必須理解這些算法的區別,以便適時選擇恰當的算法類。換言之,策略模式只適用於客戶端知道全部的算法或行爲的狀況接口
依賴注入(Dependency Injection)內存
面向對象的四個好處:可維護、可擴展、可複用和靈活性好開發
強內聚、鬆耦合
單一職責原則,就是指就一個類而言,應該僅有一個引發它變化的緣由
開放—封閉原則是說對擴展開放,對修改關閉。通俗的講,就是咱們在設計一個模塊的時候,應當使這個模塊能夠在不被修改的前提下被擴展,換句話說就是,應當能夠在沒必要修改源代碼的狀況下改變這個模塊的行爲。好比內存不夠只要插槽多就能夠加,好比硬盤不夠了,能夠用移動硬盤等,PC的接口是有限的,因此擴展有限,軟件系統設計得好,卻能夠無限的擴展
依賴倒轉原則,原話解釋是抽象不該該依賴細節,細節應該依賴於抽象。
迪米特法則(LoD)’ 也叫最少知識原則,簡單的說,就是若是兩個類沒必要彼此直接通訊,那麼這兩個類就不該當發生直接的相互做用。若是其中一個類須要調用另外一個類的某一個方法的話,能夠經過第三者轉發這個調用。迪米特法則仍是在講如何減小耦合的問題,類之間的耦合越弱,越有利於複用,一個處在弱耦合的類被修改,不會對有關係的類形成波及。也就是說,信息的隱藏促進了軟件的複用。
門面模式要求一個子系統的外部與其內部的通訊必須經過一個統一的門面(Facade)對象進行。門面模式提供一個高層次的接口,使得子系統更易於使用。
程序分層
所謂的三層開發,就是關於表現層、業務邏輯層和數據訪問層的開發