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

网站建设和考核工作通知做网站要在vs安装什么

网站建设和考核工作通知,做网站要在vs安装什么,专业软文,网站维护提示页面模板目录 1 介绍 2 优缺点 3 实现 1 介绍 抽象工厂模式(Abstract Factory Pattern) 是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式#xff0c;它提供了一种创建对象的最佳方式。 在抽象工厂模式中#xff0c;接口是负…目录 1 介绍 2 优缺点 3 实现 1 介绍 抽象工厂模式(Abstract Factory Pattern) 是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式它提供了一种创建对象的最佳方式。 在抽象工厂模式中接口是负责创建一个相关对象的工厂不需要显示指定它们的类。每个生成的工厂都能按照工厂模式提供对象。可以将抽象工厂模式理解为工厂模式的扩展。 2 优缺点 优点 抽象工厂模式隔离了具体类的生成使得客户并不需要知道什么被创建。另外应用抽象工厂模式可以实现高内聚低耦合的设计目的因此抽象工厂模式得到了广泛使用。 增加新的具体工厂和实体类很方便无须修改已有系统符合“开闭原则”。 缺点 增加新的产品等级结构很复杂需要修改抽象工厂和所有的具体工厂类对“开闭原则”的支持程序倾斜性。 增加了系统的抽象性和理解难度。 3 实现 我们将创建 Shape 和 Color 接口和实现这些接口的实体类。下一步是创建抽象工厂类 AbstractFactory。接着是定义工厂类 ShapeFactory 和 ColorFactory这两个工厂类都是扩展了 AbstractFactory。然后创建一个工厂创造器/生成器类 FactoryProducer。 AbstractFactoryPatternDemo 类使用 FactoryProducer 来获取 AbstractFactory 对象。它将向 AbstractFactory 传递形状信息 Shape(CIRCLE/RECTANGLE/SQUARE)以便获取它所需对象的类型。同时它还向 AbstractFactory 传递颜色信息 Color(RED/GREEN/BLUE)以便获取它所需对象的类型。 步骤1创建 Shape 形状接口 public interface Shape{void draw(); } 步骤2创建实现 Shape 接口的实体类 public class Circle implements Shape{overridepublic void draw(){System.out.println(Circle);} } public class Rectangle implements Shape{overridepublic void draw(){System.out.println(Rectangle);} } public class Square implements Shape{overridepublic void draw(){System.out.println(Square):} }步骤3创建 Color 接口 public interface Color{void fill(); } 步骤4创建实现 Color 接口的实体类 public class Red implements Color{overridepublic void fill(){System.out.println(Red):} } public class Green implements Color{overridepublic void fill(){System.out.println(Green):} } public class Blue implements Color{overridepublic void fill(){System.out.println(Blue):} } 步骤5创建抽象工厂 AbstractFactory 接口 public interface AbstractFactory{public abstract Shape getShape(String shapeType);public abstract Color getColor(String colorType); } 步骤6创建实现 AbstractFactory 的 ShapeFactory 来获取具体的 Shape 实例(Rectangle/square/ circle)和 ColorFactory 来获取具体的 Color 实例(Red/Green/Blue)。 public class ShapeFactory implements AbstractFactory{overridpublic Shape getShape(String shapeType){if(shapeType null)return nulll;} else {if(shapeType.equals(Rectangle){return new Rectangle();}else if(shpeType.equals(Square){return new Square();}else if(shapeType.equals(Circle){return new Circle();}else {System.out.println(error);return null;}}}overridepublic Color getColor(String ColorType){return null;} } public class ColorFactory implements AbstractFactory{overridpublic Shape getColor(String colorType){if(colorType null)return nulll;} else {if(colorType.equals(Red){return new Red();}else if(colorType.equals(Green){return new Green();}else if(colorType.equals(Blue){return new Blue();}else {System.out.println(error);return null;}}}overridepublic Color getShape(String shapeType){return null;} } 步骤7创建一个工厂生成器类 FactoryProducer通过传递的信息来获取 ShapeFactory 或者 ColorFactory public class FactoryProducer{public static AbstractFactory getFactory(String choice){if(choice null){return null;}if(choice.equals(Shape){return new ShapeFactory();else if(choice.equals(Color){return new ColorFactory();}else {System.out.println(error);return null;}} } 步骤8创建 AbstractFactoryPatternDemo 类使用 FactoryProducer 来获取到具体的Factory (ShapeFactory/ColorFactory)然后再获取到Shape和 Color 的具体实现类。 public class AbstractFactoryPatternDemo{public static void main(String[] args){// 获取 ShapeFactory 工厂实例AbstractFactory shapeFactory FactoryProducer.getFactory(Shape);//获取 Rectangle 实例并调用 draw 方法Shape rectangle shapeFactory.getShape(Rectangle);rectangle.draw();// 获取 Square 实例并调用 draw 方法Shape square shapeFactory.getShape(Square);square.draw();// 获取 circle 实例并调用 draw 方法Shape circle shapeFactory.getShape(Circle);circle.draw();// 获取 ColorFactory 工厂实例AbstractFactory colorFactory FactoryProducer.getFactory(Color);//获取 Red 实例并调用 draw 方法Color Red colorFactory.getColor(Red);red.fill();// 获取 Green 实例并调用 draw 方法Color Green colorFactory.getColor(Green);Green.fill();// 获取 Blue 实例并调用 draw 方法Color Blue colorFactory.getColor(Blue);Blue.fill(); 注意抽象工厂模式当我们新增加一个类型比如Course我们只需要新增一个 CourseFactory 实现 AbstractFactory, 然后里面返回具体的实体类对象(Math/Chinese/English)即可满足开闭原则。但是当我们需要向 Shape 或者 Color 里新增一个实体类此时就要修改对应ShapeFactory 或者ColorFactory 里的代码此时就不满足开闭原则。
http://www.tj-hxxt.cn/news/138114.html

相关文章:

  • 爱站工具包怎么使用互联网电商板块火箭发射
  • 如何衡量一个网站的价值局域网如何做视频网站建设
  • 兰州新站seo互动网站开发
  • 网站备案教育审批号小程序助手app下载
  • 怎么设置网站栏目中国风网站模板html
  • 建站网址是多少网站建设月流量
  • app网站软件什么网站可以免费做宣传
  • 提供秦皇岛网站建设哪家好layui加入wordpress
  • 山西太原做网站欧米茄表价格官网报价
  • 网站代理浏览器0湖南金辉建设集团有限公司网站
  • 济南市住房和城乡建设局网站专业网站设计 网络服务
  • 深圳网站开发技术中国外协加工网最新加工订单
  • 做推广什么网站便宜wordpress简约
  • wordpress建设的是模板网站吗物流网站建设合同范本
  • 青岛网站推广怎么做好seo快速优化排名
  • 做app网站有哪些功能软件网站建设基本流程
  • 软件正版化情况及网站建设情况点石家装全包价格最新
  • 多种网站模板网站备案费用
  • 微信小程序制作免费轻站平台黄骅港招聘
  • 那种网站2021调查问卷网站建设
  • 网站建设优化400报价国内最新新闻10条
  • 可信的免费网站建设263企业邮箱自动回复
  • 廊坊网站建设推广普像工业设计网站
  • 网站被加黑链怎么找货源开网店
  • 专业网站建设公司推荐wamp网站开发视频教程
  • 网络推广有哪些网站企业网站管理系统c
  • 中国建设银行官网首页 网站滕滕州网站建设
  • 陕西陕煤建设集团有限公司网站wordpress短信宝
  • 网站贸易表格怎么做网站开发代码规范
  • 中国建设网官方网站硅灰青海玉树网站建设