设计模式概念:
使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。
设计模式分类
创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)、J2EE 设计模式
图片来源于网络
设计模式相互关系
图片来源于网络
设计模式的六个原则
SOLID(单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)、迪米特法则
单一职责原则 (Single Responsibility Principle,简称SRP )
即一个类只负责一项职责。
开闭原则(Open Close Principle)
对扩展开放,对修改关闭,对程序功能拓展要开发,试下热插拔,无需修改原有代码。主要对程序进行抽象和接口实现。
里氏代换原则(Liskov Substitution Principle,简称LSP)
任何基类可以出现的地方,子类一定可以出现。声明的一个类或接口,然后随意的new继承这个基类的子类或者实现这个接口的类。然后我随意的调用这个基类或接口的方法,程序都正确执行不出现问题。
知乎用户举得例子还是可以帮助我们理解:举个栗子
举个更通俗易懂的例子:基类——人,有个方法——生娃。子类可能是,亚洲人,非洲人,欧洲人,然后我让他们生娃,他们都能生出娃,而不是别的小动物或者无机物,这就满足了里氏替换原则(LSP)。
举个不满足的加深理解:基类——人,有个方法——生娃。子类有超人,机器人,蜘蛛人。看似都具有人的基本特征,但是其中机器人让他生娃,是无法做到的,所以不满足里氏替换,所以机器人不能作为人的基类去定义。
接口隔离(Interface Segregation Principle,简称ISP)
使用多个隔离的接口,比使用单个接口要好。
依赖倒转原则(Dependence Inversion Principle,简称DIP)
高层模块不应该依赖底层模块,二者都该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象;主要是运用面向接口编程。
迪米特法则,又称最少知道原则(Law of Demeter,简称LoD)
最少知道原则是指:一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。
创建型模式
工厂模式(Factory Pattern)
public
评论区