一、设计模式概念
我们项目中有很多相同的东西,我们把这些相同的东西抽取出来符合某种规则,我们就称他为设计模式。
二、工厂设计模式
-
简单工厂设计模式
-
如果有写完一个类不想让其他人创建这个类的对象怎么办?
第一种方式把构造方法私有化
第二种方式把类定义为抽象类 -
面向对象的设计原则?
对修改关闭,对扩展开放.
三、工厂方法模式
-
简单工厂模式的弊端
如果再有一个新的动物的话,需要修改代码,不符合开闭原则,不好. -
工厂方法模式的好处
如果再有一个新的动物,只需要在创建一个新的动物工厂类,以及动物描述类就可以了
不需要修改代码. -
工厂模式中心思想
原来创建对象的步骤在主方法中,用方法模式的话就是把创建对象的步骤放在了其他类中.
四、单例设计模式(饿汉式)
-
怎么样去写一个单例设计模式?
前提条件:类在内存中只能存在一个对象 -
怎么样写一个单例设计模式(饿汉式)
a、把构造方法私有化(为了不让外界随意创建对象)
b、在本类中创建一个静态并且私有的本类对象
c、写一个公共并且静态的方法,返回B创建的对象.
五、单例设计模式(懒汉式)
-
单例设计模式分类、以及何时创建对象。
饿汉式:在类一加载就创建对象
懒汉式:在使用它的时候才去创建对象
注意:懒汉式如果实在多线程程序中会出现线程安全问题,要加锁 -
如何写一个单例设计模式(懒汉)
a 在类中把构造方法私有化
b 声明一个本类类型的成员变量,赋值为null(私有和静态修饰)
c 创建一个公共并且静态的方法,在方法中判断,如果对象为null,则创建对象,如果不为null则直接返回对象.并加锁.
六、模拟手机发展(用装饰模式)
- 什么是装饰模式?
对类原有的功能进行了包装扩充
- 应用步骤:
第一步:找到被装饰的类Phone.
第二步:创建一个实体类PhoneImpl,去实现Phone这个接口.
第三步:创建一个装饰类,去实现Phone这个接口,调用实现就可以了.
七、模板方法模式
- 模板方法模式的最优体现是抽象类
- 我们可以把不变的定义为实体方法
- 把变化的定义为抽象方法.
网友评论