什么是设计模式?
每一种模式都描述了一种问题的通用解决方案。这种问题在我们的环境中,不停地出现。 设计模式是一种可重复使用的解决方案。
一堆设计模式搞起来
1.工厂模式(包括简单工厂、工厂方法、抽象工厂这 3 种细分模式,可以用来解耦,降低代码重复,降低维护成本,主要解决接口选择的问题)
示例代码
2.单例模式保证产生单一实例,就是说一个类只产生一个实例。性能需求,功能需求
实现方式1
实现方式2
说明
一定要有私有的构造函数,保证类实例只能通过g etInstance() 方法获得。
• 方法2中 getInstance 的修饰符 synchronized 一定要加上,否则可能会产生多重实例。
• 尽量使用方法1构造单实例。
• 单例中的成员变量是多线程重用的,可能会产生意想不到的结果,因此尽量将单例设计为无
单例中的成员变量是多线程重用的可能
3.适配器模式(系统需要使用现有的类,而这个类的接口与我们所需要的不同)
示例代码
4.模板方法模式(它是一种“类的行为模式”,通过“继承”的方法来实现扩展)
• 基类负责算法的轮廓和骨架
• 子类负责算法的具体实现
5.策略模式(通过“组合”的方法来实现扩展,系统需要在多种算法中选择一种时使用)
6.组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。
7.装饰器模式允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。
网友评论