黑马程序员技术交流社区
标题:
设计模式
[打印本页]
作者:
等风来!
时间:
2015-11-24 21:21
标题:
设计模式
一、设计模式概述
1、设计模式概念:
我们项目中有很多相同的东西,我们把这些相同的东西抽取出来
符合某种规则,这个我们就称为设计模式(最基本的设计模式有23种)
------------------------------------------------------------------------------------
二、简单工厂模式
1、如果有写完一个类不想让其他人创建这个类的对象怎么办?
第一种方式:私有构造方法
第二种方式:把类定义为抽象类
2、面向对象的设计原则?
对修改关闭,对拓展开放
------------------------------------------------------------------------------------
三、工厂方法模式
1、简单工厂模式的弊端
如果再有一个动物的话,需要修改代码不符合我们的开闭原则。不好。
2、工厂方法模式的好处
如果再有一个动物的话现在只需要创建那个动物的工厂类,和那个动物的描述类就可以了
不需要修改代码。
3、工厂模式中心思想
就是原来在主方法中创建对象,用方法模式的话就是在其他类中创建对象。
------------------------------------------------------------------------------------
四、单例设计模式(饿汉式)开发用
1、怎么样去写一个单例设计模式?
前提条件:一个类中只能创建一个对象
A、把构造方法私有化(为了不让外界随意创建对象)
B、在类中创建一个私有并且静态的本类对象
C、写一个静态的方法返回B创建的那个对象。
------------------------------------------------------------------------------------
五、单例设计模式(懒汉式)
单例设计模式分类、以及何时创建对象。
饿汉式:类一加载就创建了对象
懒汉式:什么时候用到什么时候创建
注意:懒汉式如果实在多线程程序中会出现线程安全问题需要加锁。(面试的时候别忘了加锁)
A、把构造方法私有化
B、在类中声明一个对象并赋值为null
C、写一个静态方法并在方法中判断对象是否为null,如果为null则创建对象,不为null则直接返回
(方法要加锁)
------------------------------------------------------------------------------------
七、模拟手机发展(用装饰模式)
1、什么是装饰模式?
对类的原有功能进行了包装和扩充
2、应用步骤:
第一步:找到被装饰的接口Phone
第二步:创建一个实体类PhoneImp去实现Phone这个接口
第三步:创建一个装饰类,去实现Phone这个接口,调用实现就可以了
------------------------------------------------------------------------------------
八、九、模板方法模式
最优的体现是用抽象类,因为咱们定义的模板里有部分是固定的
有部分是变化(把固定的定义为具体方法,把变化的定义为抽象方法)
1、熟练掌握单例设计模式 懒汉 饿汉
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2