面向对象设计的基本原则:
01:单一职责
02:开闭原则
03:里氏替换原则
04:接口分离原则
05:迪米特原则
06:优先使用组合而不是继承原则
设计模式分类:
创建型模式:创建对象,(单例模式)
单例模式:单一实例,保证类在内存中只有一个对象。
举例:windows 的打印服务,网站计数器,Java中的应用:Runtime。
如何保证类在内存中只有一个对象:
A:把构造方法私有,为了不让外界创建对象。
B:在类中创建一个对象。
C:通过一个公共的访问方式给外界提供一个入口。
结构型模式:对象的组成及对象的关系
行为型模式:对象的行为,对象能够做什么?
简单工厂:
当创建对象比较简单的时候,我们就可以直接在main方法里面做了,但是,很多时候,
创建对象的时候可能还需要一些初始化,也就是说创建对象的操作会比较复杂,这个时候,如果
把所有对象的创建工作我们还是在main里面就不太合适了。
怎么解决这个问题呢? 通过简单的工厂来解决。
简单工厂有点和缺点:
对象的创建比较复杂的时候,就考虑使用工厂来实现。
优点:在简单工厂模式中,客户端不再负责对象的创建,而是把这个责任丢给了工厂类,
客户端只负责对象的调用,从而明确了各个类的职责。(单一职责)
缺点:由于这个工厂类负责所有对象的创建,那么,当子类不断增多的时候,我们就需要
去修改工厂的代码,这样呢,就违反了一个原则:开闭原则。
这个时候,就采用另外一种模式改进:工厂方法模式。