孤星缘个人网站,学习,练习,奋斗,努力

设计模式

Card image cap

Single Responsibility Principle

单一职责原则

就一个类而言,应该仅有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和界面的分离。

Liskov Substitution Principle

里氏替换原则

只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。但是,反过来就不行了,有子类出现的地方,父类未必就能适应。

Card image cap
Card image cap

Dependence Inversion Principle

依赖倒置原则

目前JPress已经内置的文章和页面其实是两个模块,可以移除和新增其他模块,因此,可以通过新增模块的方式,使用JPress来做博客、论坛、问答社区,商城等几乎可以用来做任何类型的网站。

Interface Segregation Principle

接口隔离原则

使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

Card image cap
Card image cap

Law of Demeter

迪米特法则

一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供的这么多public方法,我就调用这么多,其他的我一概不关心。

Open Closed Principle

开闭原则

编程中最基础、最重要设计原则。一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。

Card image cap

创建型模式

工厂模式

Factory Pattern

抽象工厂

Abstract Factory Pattern

单例模式

Singleton Pattern

建造者模式

Builder Pattern

原型模式

Prototype Pattern

结构型模式

将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

适配器模式

动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。

装饰器模式

Provide a surrogate or placeholder for another object to control access to it.

代理模式

要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。

门面模式