面向对象的特点是可维护、可复用、可扩展、灵活性好。随着业务变得越来越复杂,面向对象依然能够使得程序结构良好,而面向过程却会导致程序越来越臃肿。

工厂模式是将类的实例化延迟到子类

设计模式的六大原则

  • 开闭原则:一个软件实体如类、模块和函数应该对修改封闭,对扩展开放
  • 单一职责原则:一个类只做一件事,一个类应该只有一个引起它修改的原因
  • 里氏替换原则:子类应该可以完全替换父类。也就是说在使用继承时,只扩展新功能,而不要破坏父类原有的功能。
  • 依赖倒置原则:细节应该依赖于抽象,抽象不应依赖于细节。把抽象层放在程序设计的高层,并保持稳定,程序的细节变化由低层的实现层来完成。
  • 迪米特法则:又名【最少知道原则】,一个类不应知道自己操作的类的细节,换言之,只和朋友谈话,不和朋友的朋友谈话。
  • 接口隔离原则:客户端不应依赖它不需要的接口。如果一个接口在是实现时,部分方法由于冗余被客户端空实现,则应该将接口拆分,让实现类只需依赖自己需要的接口方法。