文档介绍:*设计模式*本节主要内容Singleton模式Factory模式抽象工厂模式Prototype(原型)posite(组合)Proxy(代理)DecoratorBridgeObserver*lassSingleton{ privateSingleton(){} privatestaticSingletoninstance=newSingleton(); publicstaticSingletongetInstance(){ returninstance; }}*lassSingleton{ privatestaticSingletoninstance=null; publicstaticsynchronizedSingletongetInstance(){ if(instance==null) instance=newSingleton(); returninstance; }}*Factory模式使用场景构建实例时需要进行大量初始化工作接口或基类有多个类似的派生类*lassFactory{ publicstaticSamplecreator(intwhich){ if(which==1) returnnewSampleA(); elseif(which==2) returnnewSampleB(); }}*抽象工厂模式抽象工厂模式与简单工厂模式的区别在于需要创建对象的复杂程度上抽象工厂模式将Factory变成抽象类,将共同部分封装在抽象类中,不同部分使用子类实现假设:Sample有两个实现类SampleA和SamleB,而Sample2也有两个实现类Sample2A和SampleB2*抽象工厂模式模式形式publicabstractclassFactory{ publicabstractSamplecreator(); publicabstractSample2creator(Stringname);}lassSimpleFactoryextendsFactory{ publicSamplecreator(){ ......... returnnewSampleA } publicSample2creator(Stringname){ ......... returnnewSample2A }}*lassBombFactoryextendsFactory{ publicSamplecreator(){ ...... returnnewSampleB } publicSample2creator(Stringname){ ...... returnnewSample2B }}*Prototype(原型)应用场景用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象在Java中Prototype模式变成clone()方法的使用