五、Factory Method
摘要:定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到子类。区别:与Simple Factory的区别:将类的实例化延迟到子类。适用的情况: 1、如果一个类要创建某个接口的对象,但又不知道具体的实现。 2、如果一个类本身希望由他的子类来创建所需的对象的时候。体现了”依赖倒置的原则“(要依赖抽象,不要依赖于具体的类)。1 package com.design;2 3 public interface exportApi {4 public boolean export(String data);5 } 1 package co...
阅读全文
四、Singleton
摘要:功能:使类只创建一个实例。有两种模式1、懒汉模式。时间换空间。 1 class Singleton{ 2 private static Singleton single=null; 3 private Singleton{ 4 }//私有化构造函数,使外部不能创建类的实例 5 6 public static get(){ 7 if(single==null) single =new Singleton(); 8 return single; 9 }10 } 2、饿汉模式。空间换时间。 1 class Sing...
阅读全文
三、Adapter
摘要:Adapter:将一个类的接口转换成客户希望的另一个接口。Adapter使得原本由于接口不兼容而不能一起工作的类可以一起工作。方法:定义一个类,在此类的内部调用已实现的功能。目的:进行转换匹配,复用已有的功能。优点: 1、复用性 2、可扩展性缺点: 过多的是使用Adapter,会让系统非常凌乱,不容易整体进行把握。
阅读全文
二、Facade
摘要:Facade:将内部的多个模块封装起来,供外部调用。目的:让外部减少与子系统内多个模块的交互,松散耦合,让外部简单的使用子系统。注意:因为Facade是当作子系统对外的接口的出现的,虽然也可以在这里定义一些子系统没有的功能,但不建议这么做。Facade应是包装已有的功能,负责组合已有的功能来实现用户的需要。本质是:封装交换,简化使用。使用的情况: 1、位一个复杂的子系统提供一个简单接口的时候。 2、让客户程序和抽象类的实现部分松散耦合,是Facade对象将这个子系统与客户分离开来,提高子系统的独立性和移植性。 3、构建多层结构的系统。很好的体现了“最少知识原则”。1 public class
阅读全文
一、Simple Factory
摘要:•简单工程模式 功能是:选择合适的实现类。•本质是:选择实现。•使用的情况: 1.想完全封装隔离具体的实现。 2.想要把对外创建对象的职责集中管理和控制。1 public interface API {2 public void operation(String s);3 }public class impla implements API{ public void operation(String s){ System.out.println(s); }}public class factory { public static API createap...
阅读全文