三大特性:封裝、繼承、多態編程
封裝:將客觀事物封裝成類設計模式
繼承:讓某個類型的對象得到另外一個類型的對象的屬性和方法設計
多態:指一個類實例的相同方法在不一樣情形有不一樣表現形式對象
單一職責原則SRP(Single Responsibility Principle):是指一個類的功能要單一,不能一應俱全。繼承
開放封閉原則OCP(Open-Close Principle):一個模塊在擴展性方面應該是開放的而在更改性方面應該是封閉的。接口
里氏替換原則(Liskov Substitution Principle LSP):子類應當能夠替換父類並出如今父類可以出現的任何地方。ip
接口分離原則(the Interface Segregation Principle ISP):模塊間要經過抽象接口隔離開,而不是經過具體的類強耦合起來。ci
依賴倒置原則(Dependency Inversion Principle DIP):傳統的結構化編程中,最上層的模塊一般都要依賴下面的子模塊來實現,也稱爲高層依賴低層。DIP就是不要直接依賴具體類,能夠定義一個接口,依賴接口。it
開閉原則(Open Close Principle):對擴展開放,對修改關閉。io
里氏代換原則(Liskov Substitution Principle):任何基類能夠出現的地方,子類必定能夠出現。
依賴倒轉原則(Dependence Inversion Principle):針對接口編程,依賴於抽象而不依賴於具體。
接口隔離原則(Interface Segregation Principle):使用多個隔離的接口,比使用單個接口要好。它還有另一個意思是:下降類之間的耦合度。
迪米特法則,又稱最少知道原則(Demeter Principle):一個實體應當儘可能少地與其餘實體之間發生相互做用,使得系統功能模塊相對獨立。
合成複用原則(Composite Reuse Principle):儘可能使用合成/聚合的方式,而不是使用繼承。
1.KISS原則
KISS(keep it simple, stupid):簡歷即正義
2.業務內聚,訪問通道隔離