黑马程序员技术交流社区

标题: 设计模式 [打印本页]

作者: 等风来!    时间: 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