当前位置: 首页 > news >正文

网站开发中使用框架吗策划书中网站制作怎么写

网站开发中使用框架吗,策划书中网站制作怎么写,手机网站制作平台免费,网站内容更新软件抽象工厂模式 1#xff09;问题 工厂方法模式中的每个工厂只生产一类产品#xff0c;会导致系统中存在大量的工厂类#xff0c;增加系统的开销。 2#xff09;概述 a#xff09;产品族 和 产品等级结构 产品等级结构#xff1a;产品的继承结构#xff1b; 产品族问题 工厂方法模式中的每个工厂只生产一类产品会导致系统中存在大量的工厂类增加系统的开销。 2概述 a产品族 和 产品等级结构 产品等级结构产品的继承结构 产品族由同一个工厂生产位于不同产品等级结构中的一组产品 b适用场景 当系统所提供的工厂生产的是多个位于不同产品等级结构、属于不同类型的具体产品时可以使用抽象工厂模式。 工厂方法模式针对的是一个产品等级结构而抽象工厂模式需要面对多个产品等级结构。 每个具体工厂可以生产属于一个产品族的所有产品例如生产颜色相同的正方形、圆形和椭圆形所生产的产品又位于不同的产品等级结构中。 如果使用工厂方法模式需要提供15个具体工厂而使用抽象工厂模式只需要提供5个具体工厂极大减少了系统中类的个数。 c定义 提供一个创建一系列相关或相互依赖对象的接口而无须指定它们具体的类 在抽象工厂模式中每一个具体工厂都提供了多个工厂方法用于产生多种不同类型的产品这些产品构成了一个产品族 3角色 AbstractFactory抽象工厂声明了一组用于创建一族产品的方法每一个方法对应一种产品。 ConcreteFactory具体工厂实现了在抽象工厂中声明的创建产品的方法生成一组具体产品这些产品构成了一个产品族每一个产品都位于某个产品等级结构中。 AbstractProduct抽象产品为每种产品声明接口在抽象产品中声明了产品所具有的业务方法。 ConcreteProduct具体产品定义具体工厂生产的具体产品对象实现抽象产品接口中声明的业务方法。 abstract class AbstractFactory {public abstract AbstractProductA createProductA(); //工厂方法一public abstract AbstractProductB createProductB(); //工厂方法二…… }class ConcreteFactory1 extends AbstractFactory {//工厂方法一public AbstractProductA createProductA() {return new ConcreteProductA1();}//工厂方法二public AbstractProductB createProductB() {return new ConcreteProductB1();}…… }与工厂方法模式一样抽象工厂模式也可为每一种产品提供一组重载的工厂方法以不同的方式对产品对象进行创建。 4案例-初始方案 问题 增加新皮肤时需要增加大量类每个新增具体组件都需要增加一个具体工厂类的个数成对增加影响系统维护成本和运行开销 每个组件都需要一个具体工厂在使用时要逐个设置在客户端代码和配置文件都较为复杂。 5案例-重构后 //按钮接口抽象产品 interface Button {public void display(); }//Spring按钮类具体产品 class SpringButton implements Button {public void display() {System.out.println(显示浅绿色按钮。);} }//Summer按钮类具体产品 class SummerButton implements Button {public void display() {System.out.println(显示浅蓝色按钮。);} }//文本框接口抽象产品 interface TextField {public void display(); }//Spring文本框类具体产品 class SpringTextField implements TextField {public void display() {System.out.println(显示绿色边框文本框。);} }//Summer文本框类具体产品 class SummerTextField implements TextField {public void display() {System.out.println(显示蓝色边框文本框。);} }//组合框接口抽象产品 interface ComboBox {public void display(); }//Spring组合框类具体产品 class SpringComboBox implements ComboBox {public void display() {System.out.println(显示绿色边框组合框。);} }//Summer组合框类具体产品 class SummerComboBox implements ComboBox {public void display() {System.out.println(显示蓝色边框组合框。);} }//界面皮肤工厂接口抽象工厂 interface SkinFactory {public Button createButton();public TextField createTextField();public ComboBox createComboBox(); }//Spring皮肤工厂具体工厂 class SpringSkinFactory implements SkinFactory {public Button createButton() {return new SpringButton();}public TextField createTextField() {return new SpringTextField();}public ComboBox createComboBox() {return new SpringComboBox();} }//Summer皮肤工厂具体工厂 class SummerSkinFactory implements SkinFactory {public Button createButton() {return new SummerButton();}public TextField createTextField() {return new SummerTextField();}public ComboBox createComboBox() {return new SummerComboBox();} }配置文件 config.xml 中存储了具体工厂类的类名 ?xml version1.0? configclassNameSpringSkinFactory/className /config客户端代码 class Client {public static void main(String args[]) {//使用抽象层定义SkinFactory factory;Button bt;TextField tf;ComboBox cb;factory (SkinFactory)XMLUtil.getBean();bt factory.createButton();tf factory.createTextField();cb factory.createComboBox();bt.display();tf.display();cb.display();} }如果需要增加新的皮肤只需增加一族新的具体组件并提供一个新的具体工厂修改配置文件即可使用新的皮肤原有代码无须修改 6开闭原则的倾斜性 在抽象工厂模式中增加新的产品族很方便但是增加新的产品等级结构很麻烦。 增加产品族只需要增加具体产品并对应增加一个新的具体工厂对已有代码无须做任何修改。 增加新的产品等级结构需要修改所有的工厂角色包括抽象工厂类在所有的工厂类中都需要增加生产新产品的方法。 7总结 1.优点 增加新的产品族很方便无须修改已有系统。 2.缺点 增加新的产品等级结构需要对原有系统进行较大修改需要修改抽象层代码。 3.适用场景 用户无须关心对象的创建过程将对象的创建和使用解耦。 系统中有多于一个的产品族而每次只使用其中某一产品族。 属于同一个产品族的产品将在一起使用。 产品等级结构稳定不会向系统中增加新的产品等级结构或者删除已有的产品等级结构。
http://www.dnsts.com.cn/news/156760.html

相关文章:

  • 网站开发工程师好吗建设网站需要多少钱济南兴田德润o厉害吗
  • 表格可以做网站么深圳龙岗网站建设
  • 企业网站建设的主要步骤阿里云国际站官网
  • wordpress站点添加skypewordpress空格
  • 网站开发发展趋势2018仿顺丰优选网站源码
  • 手机棋牌游戏平台微信搜索seo优化
  • 珠海门户网站建设哪家专业哪里有网站模板下载
  • wordpress网站统计插件做外贸需要关注国外哪些网站
  • 网站站内优化案例北京海淀区最新通知
  • 免费自己生成网站网址大全目录查询
  • 那个网站专利分析做的好中国建设银行济南招聘信息网站
  • 胶州城乡建设局网站郑州网站建设 服务创业
  • 网站建设公司广东目录和文章wordpress
  • 微商的自己做网站叫什么名字深圳 网站设计
  • 做网站上海配置网站开发环境
  • 网络推广内容深圳网站做优化哪家公司好
  • 方案查一查网站重庆网站开发 公司
  • 如何找人做网站网站策划报价模板
  • 广东哪里有网站建设有引导页的网站
  • 网站描述应该怎么写网站开发哪些
  • 怎么看公司网站是哪里做的汕头兼职网站建设
  • 做网站需要哪些准备html大学设计论文
  • 婚恋网站建设项目创业计划书三大门户网站哪家做的最好
  • 网络营销的网站设计网站推荐html
  • 做网站都需要准备什么班徽logo设计图片
  • 专做PPP项目网站wordpress轻语博客
  • 网站的管理与维护wordpress谷歌网站地图
  • 网站平台建设费用做搜狗网站优化快速排
  • 最新网站模板企业营销型网站类型
  • 响应式网站管理系统桐梓县工程建设交易网站