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

php网站开发工程师笔试设计行业网站建设

php网站开发工程师笔试,设计行业网站建设,个人如何制作微信小程序,仿系统之家网站源码工厂方法模式又叫虚拟构造函数#xff08;Virtual Constructor#xff09;模式或者多态性工厂#xff08;Polymorphic Factory#xff09;模式。工厂方法模式的用意是定义一个创建产品对象的工厂接口#xff0c;将实际创建性工作推迟到子类中。 工厂模式可以分为简单工厂…工厂方法模式又叫虚拟构造函数Virtual Constructor模式或者多态性工厂Polymorphic Factory模式。工厂方法模式的用意是定义一个创建产品对象的工厂接口将实际创建性工作推迟到子类中。 工厂模式可以分为简单工厂、工厂方法和抽象工厂模式。 简单工厂模式需要注意的是简单工厂并不包含在《GoF》一书中定义的23种设计模式因为它过于简单更像是一种编程习惯并且它违反了开闭原则增加工厂需要修改类的实现。工厂方法模式是简单工厂模式的进一步抽象和推广将具体创建工作交给子类去做避免违反开闭原则。抽象工厂模式如果说工厂方法模式针对的是一个产品等级结构那么抽象工厂模式面对的就是多个产品等级结构。 由于简单工厂模式严格来说并不算是一种设计模式就不再画UML图了大家通过一个例子感受一下它的用法 public interface Shape {void draw(); }public class Circle implements Shape {Overridepublic void draw() {System.out.println(draw a circle);} }public class Square implements Shape {Overridepublic void draw() {System.out.println(draw a square);} }public class SimpleFactory {public static Shape createShape(String shapeType) {if (shapeType null) {throw new IllegalArgumentException(Shape type cannot be null.);}switch (shapeType.toLowerCase()) {case circle:return new Circle();case square:return new Square();default:throw new IllegalArgumentException(Unsupported shape type: shapeType);}} }public class Demo {public static void main(String[] args) {Shape circle SimpleFactory.createShape(circle);circle.draw();Shape square SimpleFactory.createShape(square);square.draw();Shape triangle SimpleFactory.createShape(triangle);triangle.draw();} }工厂方法模式的UML图如下 下面还是以一个例子来说明工厂方法模式的用法。假设有一个果农接口相当于图中的Creator有一个葡萄果农和一个苹果农分别实现果农接口这两个类相当于ConcreteCreator类。然后有一个水果接口 相当于Product接口一个苹果类和一个葡萄类分别实现水果接口。这时候注意体会工厂方法模式和简单工厂模式的区别工厂方法模式把创建对象的工作分别放到葡萄果农和苹果农的类中去实现也就是在具体类中实现。 public interface GuoNong {Fruit createFruit(); }public class GrapeNong implements GuoNong {Overridepublic Fruit createFruit() {return new Grape();} }public class AppleNong implements GuoNong {Overridepublic Fruit createFruit() {return new Apple();} }public interface Fruit {void plant();void grow();void harvest(); }public class Grape implements Fruit {Overridepublic void plant() {System.out.println(种葡萄);}Overridepublic void grow() {System.out.println(葡萄生长);}Overridepublic void harvest() {System.out.println(收葡萄);} }public class Apple implements Fruit{Overridepublic void plant() {System.out.println(种苹果);}Overridepublic void grow() {System.out.println(苹果生长);}Overridepublic void harvest() {System.out.println(收苹果);} }public class Demo {public static void main(String[] args) {GrapeNong grapeNong new GrapeNong();Fruit grape grapeNong.createFruit();grape.plant();grape.grow();grape.harvest();System.out.println(**************分割线**********************);AppleNong appleNong new AppleNong();Fruit apple appleNong.createFruit();apple.plant();apple.grow();apple.harvest();} }大家如果需要视频版本的讲解可以关注下我的B站 三、设计模式之工厂方法模式精讲
http://www.dnsts.com.cn/news/221964.html

相关文章:

  • 网站模板加盟代理便宜建站方法
  • 怎么建设一个属于自己的网站网站建设公司销售经理职责
  • 网站建设公司在哪里开发网站用什么工具做设计
  • 建电子商城网站wordpress上传都图片不显示
  • 网站建设主要内容包括视频网站设计论文
  • 网站相册优化中国十大大型门户网站
  • 用帝国做的网站188旅游网站源码下载
  • 湖北省住房建设部官方网站WordPress限时账号
  • 广西北海联友建设网站管理建设干部学校网站首页
  • 做印刷在哪个网站接单好好怎么建网站模版
  • 网站建设动态实训报告举例说明什么是网络营销
  • 网站开发单子需要做网站的公司
  • wordpress演示站教程网站项目策划大纲
  • 英文网站建设方案 PPT二级建造师官网查询系统
  • 高水平的大连网站建设哪里页面设计培训好
  • 2019建设什么网站好运营策划公司起名
  • 织梦网站最下面的网站建设去除建立网站的好处
  • 百度海外视频网站建设品网站建设
  • 徐州住房与城乡建设部网站建设了网站怎么管理系统
  • 舟山市城市建设档案馆网站住宅小区物业管理系统网站建设
  • 网页网站设计公司排行榜爱南宁app下载二维码
  • 签订网站建设协议 注意事项简述你对于网站建设的认识
  • 网站建设对电子商务的作用appserv做网站教程
  • 标志设计欣赏网站新冠疫苗最新消息
  • 做地区招聘网站html素材免费下载
  • 可做易企秀的网站西安网站建设雄账号
  • 房和城乡建设部网站wordpress怎么博客排版
  • 网站版式设计东莞高端做网站公司
  • 建设银行无锡分行网站网页设计图片背景要多大
  • 湛江免费制作网站紫鸟超级浏览器手机版