软件案例分析课件.ppt
《软件案例分析课件.ppt》由会员分享,可在线阅读,更多相关《软件案例分析课件.ppt(50页珍藏版)》请在三一办公上搜索。
1、创建模式,创建模式综述,简单工厂(Simple Factory)工厂方法(Factory Method)抽象工厂模式(Abstract Factory)建造模式(Builder)原型模式(Prototype),1 简单工厂(Simple Factory),又称为静态工厂方法(Static Factory Method);由一个工厂对象决定创建出哪一种产品类的实例;所有产品实现同一个接口。,1.2 简单工厂方法类图,1.3 示例,1.4 简单工厂方法代码,public class ImgProcessorFactory public static ImgProcessor createImgPr
2、ocessor(String format)if(format.equals(“jpg”)return new MyProcessor();else if(format.equals(“bmp”)return new BmpProcessor.,public Interface ImgProcessor public byte resizeImg(byte data);public class JpgProcessor implements ImgProcessor public byte resizeImg(byte data).,1.5 简单工厂方法代码续,1.6简单工厂方法的简化实现,1
3、.7示例,1.8 简单工厂简化实现的另一个例子,1.9简单工厂方法优点,类工厂集中了所有的创建逻辑;可以在不修改客户端的情况下加入新类。,1.10简单工厂方法缺点,创建逻辑比较复杂;使用静态方法作为构建方法,无法继承;引入新产品的时候必须修改工厂类。,1.11简单工厂方法的作用,是所有构建模式的基础;将构建部分代码适当修改后,可将对象循环使用。,2 工厂方法,工厂类有若干个,实现了同样一个工厂接口。每个工厂类可以创建一类具体的产品。,2 工厂方法,2.1 工厂方法的一个例子,2.2 工厂方法部分代码,public class BmpFactory public BmpFactory()publ
4、ic ImageProcessor createProcessor()return new BmpProcessor();,2.3 工厂方法在java中的一个例子,public interface Collection.Iterator iterator();public abstract class AbstractList extends AbstractCollection implements List.Iterator iterator()/代码实现部分,3 抽象工厂模式(Abstract Factory),3.2 抽象工厂方法的一个例子,3.3 抽象工厂方法特点,可以一次增加一个产
5、品族增加一个产品族必须增加一产品类,4 单例模式,每个类只有一个实例。类的构造函数是私有的。类使用一个静态属性保存自己的实例。,public class SingleInstance private static SingleInstance singleInstance;private SingleInstance()public synchronized static SingleInstance getInstance()if(bmpProcessor=null)singleInstance=new SingleInstance();return singleInstance;,4.2
6、单例模式的一种实现方法,public class SingleInstance private static SingleInstance singleInstance;private SingleInstance()static singleInstance=new SingleInstance();,4.3 单例模式的另外一种实现方法,4.4 抽象工厂方法第三种实现public class SingleInstance private static Map allInstance=newHashMap();private SingleInstance()public static sync
7、hronzied MyInterface getInstance(String name)Object obj=allInstance.get(name);if(obj=null)obj=Class.forName(name).newInstance();allInstance.put(name,obj);return(MyInterface)obj;,4.5 什么情况下使用单例模式,系统只需要一个实例;对于工具类,最好使用单例模式,而不是静态方法;对于数据库连接,更不能使用单例模式。,4.6 单例的状态,有状态类,用来记录系统当前状态。无状态类,一个设置为不变类(Immutable).例如工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 案例 分析 课件
链接地址:https://www.31ppt.com/p-2163884.html