侧边栏壁纸
博主头像
成云博主等级

行动起来,活在当下

  • 累计撰写 40 篇文章
  • 累计创建 25 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

设计模式(创建型模式更新ing)

佳航
2020-09-24 / 0 评论 / 0 点赞 / 806 阅读 / 3182 字

设计模式概念:

使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。

设计模式分类

创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)、J2EE 设计模式
2040445a71ec5a07fce4f05.png
图片来源于网络

设计模式相互关系

therelationshipbetweendesignpatterns.jpg
图片来源于网络

设计模式的六个原则

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 

抽象工厂模式(Abstract Factory Pattern)

单例模式(Singleton Pattern)

建造者模式(Builder Pattern)

原型模式(Prototype Pattern)

0

评论区