记录我的所做所思
一:case context: 一个Pizza管理系统
问题:红色字体部分可能会modification(增加新的或删除旧的),所以必须把这部分包装起来成一个独立的类。二:SimpleFactory模式
优点:因为是一个独立的类,所以可以共享,一处修改即可,不需修改客户端。 缺点:对"close-opening"原则支持不够,如有新产品加入还是要改Factory中的代码。 实例:DateFormat类:
三:Factory Method模式 当构建对象部分需求发生变化,如现在pizza分为美国和意大利两种口味。 解决办法:1:一个抽象创建基类,abstract Product create(); 2:具体类来实现create方法 3:抽象产品基类。 4:具体产品类。
The Factory Method Pattern defines an interface for creation an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses.四:Abstract Factory 抽象工厂模式和工厂方法模式的主要区别是,工厂方法模式针对的是一个产品等级结构,而抽象工厂方法对应多个产品等级结构。 实例:创建分属不同操作系统的视窗构件。
Copyright @ zhoumin Powered by: .Text and ASP.NET Theme by: .NET Monster