Recently I am doing my side project using Hybrid framework Ionic2.Ionic2 has a CLI tool...
Definition Separate the construction of a complex object from its representation so tha...
Definition Define an interface for creating an object, but let subclasses decide which ...
Definition Defines the steps of an algorithm and allows subclasses to provide the imple...
Definition Provide a surrogate or placeholder for another object to control access to i...
Definition Defines a family of algorithms, encapsulates each one, and makes them interc...
Definition Attaches additional responsibilities to an object dynamically. Decorators pr...
面向接口编程的思想 定义D 高层模块不应该依赖低层模块,两个都应该依赖抽象。抽象不应该依赖细节,细节应该依赖抽象。针对接口变成,不要对实现编程。 问题由来 类A直接依赖类B,...
定义 SRP: 就一个类而言,应该仅有一个引起它变化的原因。一个类承担的责任过多,就等于把这些职责都耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。 问...
定义 对于扩展是开放的,对于修改是封闭的 应用场景 无论多么‘封闭’的模块,都会存在一些无法对之封闭的变化,设计人员必须对于他设计的模块应对哪种变化封闭做出选择。先猜测出最可...
定义 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 问题由来 类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不...
里氏代换原则 定义 在软件开发中,父类都替换成它的子类,程序的行为没有变化。通俗来说,子类可以扩展父类的功能,但不能改变父类原有的功能。 子类可以实现父类的抽象方法,但不能覆...
Definition Each unit should have only limited knowledge about other units: only units "...