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

自助建站哪个好wordpress 修改发帖时间

自助建站哪个好,wordpress 修改发帖时间,wordpress插件存放地址,新乡手机网站建设电话目录 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.w-s-a.com/news/837909/

相关文章:

  • 美食网站的设计与制作做网站的电销话术
  • 中国档案网站建设现状研究陕西建设厅执业资格注册中心网站
  • 网站建设的内容管理怎么用ps切片在dw里做网站
  • 建设婚恋网站用什么搭建涿州网站开发
  • 做知识内容的网站与app哈尔滨哪里有做网站的
  • 青岛企业网站建站模板百度网站建设推广
  • 做360网站中保存的图片存在哪里个人建立网站要多少钱
  • 网站安装部署无锡做网站的公司
  • 怎么将网站做成小程序安装wordpress到服务器
  • 企业网站建设的四大因素沈阳网站建设招标公司
  • wordpress仿站开发公司网站策划宣传
  • 金乡县网站开发网站开发三个流程
  • qq空间网站是多少纺织网站建设方案
  • 建设微网站项目报告网站优化难吗
  • 做网站需要自己上传产品吗企业网站系统设计
  • wordpress个人中心济南网站建设和优化
  • 网站pc端网址和手机端网址建设牡丹江 网站建设
  • 苏州新区城乡建设网站人才招聘网站开发
  • 一般网站是怎么做的威远移动网站建设
  • 赣州网站开发公司怎么才能设计好一个网站
  • 个人网站建设分几个步走培训网站开发哪个好
  • 智能网站价格河北城乡建设网站
  • 做动画在线观看网站网上花店 网站源代码
  • 做网站项目体会商业信息
  • 深圳的设计网站谷歌浏览器下载手机版官网
  • 苏州网站建设都找全网天下外贸响应式网站设计
  • 揭阳专业做网站网站迁移教材
  • 手机上怎么上传网站吗工程信息网站建设
  • 用手机建网站微信手机网站流程
  • 专注软件优化分享的网站梧州网页设计