网站建设中,做网站软件下载手机版,重庆建设集团网站,婚纱网站页面设计图片一、创建型设计模式一览 二、创建型设计模式
2-1、创建型设计模式的概念
一个类创建型模式使用继承改变被实例化的类#xff1b;
一个对象创建型模式将实例化委托给另一个对象。 对应java的new一个对象。 2-2、简单工厂模式#xff08;静态工厂方法#xff09; 简单工厂…一、创建型设计模式一览 二、创建型设计模式
2-1、创建型设计模式的概念
一个类创建型模式使用继承改变被实例化的类
一个对象创建型模式将实例化委托给另一个对象。 对应java的new一个对象。 2-2、简单工厂模式静态工厂方法 简单工厂模式属于创建型模式但不属于23种设计模式之一。 1、定义
定义一个工厂类他可以根据参数的不同返回不同类的实例被创建的实例通常都具有共同的父类。
在简单工厂模式中用于被创建实例的方法通常为静态方法因此简单工厂模式又被成为静态工厂方法。 简单工厂模式的三类角色
1、工厂(核心)负责实现创建所有产品的内部逻辑工厂类可以被外界直接调用创建所需对象。
2、抽象产品工厂类所创建的所有对象的父类封装了产品对象的公共方法所有的具体产品为其子类对象。
3、具体产品简单工厂模式的创建目标所有被创建的对象都是某个具体类的实例。它要实现抽象产品中声明的抽象方法。 2、代码实现 简单工厂模式的问题 若是要新增一个productC则需要修改Factory类的代码。 违反了开放封闭原则。 开闭原则是指 软件应该对扩展开放而对修改关闭。这里的意思是在增加新功能的时候能不改代码就尽量不要改如果只增加代码就完成了新功能那是最好的。 2-3、工厂方法模式
1、意图
定义一个用于创建对象的接口让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 上午题喜欢考意图原话。 下午题喜欢考代码填空。 2、代码实现 3、结构图官方 4、适用性
当一个类不知道它所必须创建的对象的类的时候当一个类希望由它的子类来指定它所创建的对象的时候当类将创建对象的职责委托给多个帮助子类中的某一个并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。 上午题喜欢考。 2-4、抽象工厂模式
1、意图
提供一个创建一系列相关或相互依赖对象的接口而无须指定它们具体的类。 2、结构 一个具体的工厂可以创建多个具体的类。 3、代码实现 客户端 4、适用性
一个系统要独立于它的产品的创建、组合和表示时个系统要由多个产品系列中的一个来配置时当要强调一系列相关的产品对象的设计以便进行联合使用时当提供一个产品类库只想显示它们的接口而不是实现时。 2-5、真题
真题1 一个具体的工厂只能创建一个具体的产品工厂方法模式 一个具体的工厂能创建多个具体的产品抽象工厂方法模式 真题2