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

网站建设的意见wordpress在线教育主题

网站建设的意见,wordpress在线教育主题,あかねさす少女免费,网络公司官网小谈设计模式#xff08;9#xff09;—工厂方法模式 专栏介绍专栏地址专栏介绍 工厂方法模式角色分类抽象产品#xff08;Abstract Product#xff09;具体产品#xff08;Concrete Product#xff09;抽象工厂#xff08;Abstract Factory#xff09;具体工厂#x… 小谈设计模式9—工厂方法模式 专栏介绍专栏地址专栏介绍 工厂方法模式角色分类抽象产品Abstract Product具体产品Concrete Product抽象工厂Abstract Factory具体工厂Concrete Factory 核心思想Java代码实现假设有一个汽车工厂可以生产不同类型的汽车包括小轿车和SUV。首先定义一个抽象汽车类AbstractProduct然后定义具体的小轿车类ConcreteProduct1和SUV类ConcreteProduct2它们都继承自抽象汽车类接下来定义抽象汽车工厂类AbstractFactory其中包含一个创建汽车的抽象方法然后定义具体的小轿车工厂类ConcreteFactory1和SUV工厂类ConcreteFactory2它们都继承自抽象汽车工厂类最后在客户端代码中使用工厂方法来创建汽车对象输出结果为分析 优缺点分析优点符合开闭原则封装了对象的创建过程降低了客户端和具体产品的耦合可以通过配置文件等方式动态指定具体工厂类 缺点增加了系统的复杂度增加了代码的数量客户端需要知道具体工厂类 专栏介绍 专栏地址 link 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结希望有兴趣的小伙伴们可以看一下会持续更新的。希望各位可以监督我我们一起学习进步加油各位。 工厂方法模式 工厂方法模式是一种创建型设计模式它定义了一个创建对象的接口但由子类决定要实例化的类是哪一个。工厂方法模式将对象的实例化推迟到子类中进行。 角色分类 抽象产品Abstract Product 定义了产品的接口是具体产品类的共同父类或接口。 具体产品Concrete Product 实现了抽象产品接口的具体类。 抽象工厂Abstract Factory 定义了创建产品的接口包含一个或多个创建产品的抽象方法。 具体工厂Concrete Factory 实现了抽象工厂接口负责实例化具体产品。 核心思想 将对象的创建与使用分离客户端通过调用工厂方法来创建对象而不是直接实例化具体产品。这样做的好处是客户端只需要知道抽象产品和抽象工厂的存在而无需关心具体产品的细节。当需要创建不同类型的产品时只需要实现对应的具体产品和具体工厂即可而不需要修改客户端的代码。 Java代码实现 假设有一个汽车工厂可以生产不同类型的汽车包括小轿车和SUV。首先定义一个抽象汽车类AbstractProduct public abstract class Car {public abstract void drive(); }然后定义具体的小轿车类ConcreteProduct1和SUV类ConcreteProduct2它们都继承自抽象汽车类 public class SedanCar extends Car {Overridepublic void drive() {System.out.println(Driving sedan car...);} }public class SUV extends Car {Overridepublic void drive() {System.out.println(Driving SUV...);} }接下来定义抽象汽车工厂类AbstractFactory其中包含一个创建汽车的抽象方法 public abstract class CarFactory {public abstract Car createCar(); }然后定义具体的小轿车工厂类ConcreteFactory1和SUV工厂类ConcreteFactory2它们都继承自抽象汽车工厂类 public class SedanCarFactory extends CarFactory {Overridepublic Car createCar() {return new SedanCar();} }public class SUVFactory extends CarFactory {Overridepublic Car createCar() {return new SUV();} }最后在客户端代码中使用工厂方法来创建汽车对象 public class Client {public static void main(String[] args) {CarFactory factory1 new SedanCarFactory();Car sedanCar factory1.createCar();sedanCar.drive();CarFactory factory2 new SUVFactory();Car suv factory2.createCar();suv.drive();} }输出结果为 Driving sedan car... Driving SUV...分析 通过工厂方法模式客户端代码只需要与抽象产品和抽象工厂进行交互而无需关心具体产品的创建过程。当需要新增其他类型的汽车时只需要实现对应的具体产品和具体工厂即可而不需要修改客户端的代码实现了代码的可扩展性和可维护性。 优缺点分析 优点 符合开闭原则 工厂方法模式通过引入抽象工厂和具体工厂的概念使得系统的扩展性更好。当需要新增一种产品时只需要新增对应的具体产品和具体工厂而不需要修改已有的代码符合开闭原则。 封装了对象的创建过程 客户端只需要关心抽象产品和抽象工厂而无需关心具体产品的创建过程。具体产品的创建过程被封装在具体工厂中使得客户端代码更加简洁、可读性更高。 降低了客户端和具体产品的耦合 客户端只依赖于抽象产品和抽象工厂而不依赖于具体产品。这样可以使客户端代码与具体产品解耦提高代码的灵活性和可维护性。 可以通过配置文件等方式动态指定具体工厂类 工厂方法模式可以通过配置文件、反射等方式动态指定具体工厂类从而实现更加灵活的对象创建方式。 缺点 增加了系统的复杂度 引入抽象工厂和具体工厂的概念使得系统的结构变得更加复杂。如果系统中只有少量的产品使用工厂方法模式可能会显得过于复杂不利于维护和理解。 增加了代码的数量 工厂方法模式需要定义抽象产品、具体产品、抽象工厂、具体工厂等多个类这增加了代码的数量。对于简单的项目使用工厂方法模式可能会显得冗余。 客户端需要知道具体工厂类 客户端需要知道具体工厂类的存在这增加了客户端的依赖。如果具体工厂类的创建逻辑发生变化客户端代码也需要相应的修改。
http://www.zqtcl.cn/news/862730/

相关文章:

  • 黄冈网站推广软件视频下载孝感做网站xgsh
  • 用jsp做一网站的流程图互联网博客网站
  • 南宁一站网 给网站做营销微网站和网站同步像素
  • 如何建设一个视频小网站软件做网站
  • 小企业网站建设公司哪家好网站怎样设计网页
  • 那个网站做搬家推广比较好wordpress twenty eleven
  • 微站图片临淄信息网招聘最新信息
  • 投诉举报网站建设方案宠物网站 模板
  • 生小孩去什么网站做登记有特点的个人网站
  • 汉中市住房和城乡建设局网站学网站建设需要什么
  • 深圳网站建设外包公司排名网络引流怎么做啊?
  • 关于做暧暧的网站php 网站授权
  • 网站上添加子栏目wordpress群组
  • 一站式手机网站制作有没有代做ppt的网站
  • 西安火车站网站建设网站的设计需要什么
  • 弹幕网站开发代码欧洲人喜欢什么样的服务器
  • 有哪些做壁纸的网站好ftp如何备份网站
  • 网站如何推广出去wordpress foopen
  • 网站空格键代码台州椒江网站建设公司
  • node 网站开发 视频教程汉阳网站推广
  • 广西新农村建设工作专题网站怎样创建公司网站
  • 中国十大招商平台谷歌优化软件
  • 做任务领黄钻的网站中国采购网招标公告
  • 网站建设三层架构实训报告德阳市网站建设
  • 有免费建网站opencms wordpress
  • 行业网站做的好的wordpress要有数据库
  • 重庆智能网站建设哪里好怎么在微信做企业网站
  • 甘肃建设局网站丰都网站建设公司
  • 四川建设设计公司网站网站建设好的图片
  • 建设旅游网站的总结做网站链接怎么做