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

昆明市城市建设档案馆网站网站需要多大空间

昆明市城市建设档案馆网站,网站需要多大空间,免费下载app软件并安装手机,wordpress评价功能分类#xff1a;简单工厂模式#xff08;静态工厂模式#xff09;#xff0c;工厂方法模式#xff0c;抽象工厂模式。 这种设计模式也是 Java 开发中最常见的一种模式#xff0c;它的主要意图是定义一个创建对象的接口#xff0c;让其子类自己决定实例化哪一个工厂类简单工厂模式静态工厂模式工厂方法模式抽象工厂模式。 这种设计模式也是 Java 开发中最常见的一种模式它的主要意图是定义一个创建对象的接口让其子类自己决定实例化哪一个工厂类工厂模式使其创建过程延迟到子类进行。 简单说就是为了提供代码结构的扩展性屏蔽每一个功能类中的具体实现逻辑。让外部可以更加简单的只是知道调用即可同时这也是去掉众多ifelse的方式。当然这可能也有一些缺点比如需要实现的类非常多如何去维护怎样减低开发成本。但这些问题都可以在后续的设计模式结合使用中逐步降低。 要使用工厂模式的最本质的参考标准 封装变化创建逻辑有可能变化封装成工厂类之后创建逻辑的变更对调用者透明。 代码复用创建代码抽离到独立的工厂类之后可以复用。 隔离复杂性封装复杂的创建逻辑调用者无需了解如何创建对象。 控制复杂度将创建代码抽离出来让原本的函数或类职责更单一代码更简洁。 简单工厂模式 简单工厂模式包含如下三种角色 抽象产品定义了产品的规范描述了产品的主要特性和功能。 具体产品实现或者继承抽象产品的子类。 具体工厂提供了创建产品的方法使用者通过该方法来获取产品。 核心代码 /** * 创建一个抽象类抽象子类的共有方法 * 创建子类实现父类的抽象方法 * 在工厂方法中根据类型创建不同的具体对象 **/ public class SimpleCoffeeFactory {// 根据type判断类型实例化并返回对应对象public Coffee createCoffee(String type) {Coffee coffee null;if(americano.equals(type)) {coffee new AmericanoCoffee();} else if(latte.equals(type)) {coffee new LatteCoffee();}return coffee;} } 工厂处理创建对象的细节一旦有了工厂后期如果需要对象直接从工厂中获取即可。这样也就解除了和实现类的耦合但同时又产生了新的耦合。后期如果再添加新的类就必须修改工厂类的代码违反了开闭原则。 也有一部分人将工厂类中的创建对象的功能定义为静态的这个就是静态工厂模式。 工厂方法模式 针对简单工厂模式的缺点使用工厂方法模式就可以完美的解决完全遵循开闭原则。 工厂方法模式FACTORY METHOD是一种常用的类创建型设计模式,此模式的核心精神是封装类中变化的部分提取其中个性化善变的部分为独立类通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色分别是抽象工厂、具体工厂、抽象产品、具体产品。 四个角色 抽象工厂Abstract Factory提供了创建产品的接口调用者通过它访问具体工厂的工厂方法来创建产品。 具体工厂ConcreteFactory主要是实现抽象工厂中的抽象方法完成具体产品的创建。 抽象产品Product定义了产品的规范描述了产品的主要特性和功能。 具体产品ConcreteProduct实现了抽象产品角色所定义的接口由具体工厂来创建它同具体工厂之间一一对应。 核心代码 /** * 抽象工厂 **/ public interface CoffeeFactory {Coffee createCoffee(); }/** * 具体工厂 * * 抽象产品为coffee具体产品为LatteCoffee和AmericanCoffee * 这种工厂模式可以通过不同的具体工厂创建出不同的具体产品 **/ public class LatteCoffeeFactory implements CoffeeFactory {public Coffee createCoffee() {return new LatteCoffee();} }public class AmericanCoffeeFactory implements CoffeeFactory {public Coffee createCoffee() {return new AmericanCoffee();} } 从以上代码可以看到要增加产品类时不需要修改工厂类的代码了这样就解决了简单工厂模式的缺点但要相应地增加工厂类。 工厂方法模式是简单工厂模式的进一步抽象。由于使用了多态性工厂方法模式保持了简单工厂模式的优点而且克服了它的缺点。 优点 在获取对象时只需要知道具体工厂的名称就可以得到对应的对象无须知道具体创建过程在系统增加新的类时只需要添加对应的具体工厂类无须对原工厂进行任何修改满足开闭原则 缺点 每增加一个类就要增加一个对应的具体工厂类增加了系统的复杂度。 抽象工厂模式 抽象工厂模式Abstract Factory Pattern隶属于设计模式中的创建型模式用于产品族的构建。抽象工厂是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂是指当有多个抽象角色时使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口使客户端在不必指定产品的具体情况下创建多个产品族中的产品对象。 工厂模式中的每一个形态都是针对一定问题的解决方案工厂方法针对的是多个产品系列结构而抽象工厂模式针对的是多个产品族结构一个产品族内有多个产品系列。 抽象工厂模式的主要角色如下 抽象工厂Abstract Factory提供了创建产品的接口它包含多个创建产品的方法可以创建多个不同等级的产品。 具体工厂Concrete Factory主要是实现抽象工厂中的多个抽象方法完成具体产品的创建。 抽象产品Product定义了产品的规范描述了产品的主要特性和功能抽象工厂模式有多个抽象产品。 具体产品ConcreteProduct实现了抽象产品角色所定义的接口由具体工厂来创建它 同具体工厂之间是多对一的关系。 代码展示 /** * 抽象工厂 **/ public interface DessertFactory {Coffee createCoffee();Dessert createDessert(); }/** * 具体工厂 **/ public class AmericanDessertFactory implements DessertFactory {public Coffee createCoffee() {return new AmericanCoffee();}public Dessert createDessert() {return new MatchaMousse();} }public class ItalyDessertFactory implements DessertFactory {public Coffee createCoffee() {return new LatteCoffee();}public Dessert createDessert() {return new Tiramisu();} } 如果要加同一个产品族的话只需要再加一个对应的工厂类即可不需要修改其他的类。 优点 当一个产品族中的多个对象被设计成一起工作时它能保证客户端始终只使用同一个产品族中的对象。 缺点 当产品族中需要增加一个新的产品时所有的工厂类都需要进行修改。
http://www.sczhlp.com/news/184486/

相关文章:

  • 有哪些静态网站上海企业网站模板建站
  • wordpress双站网站设计建站
  • 成都网站制作售后哈尔滨关键词优化排行
  • 佛山建站网站模板wordpress模板图片不显示
  • 做原创视频网站建设高校实验教学网站的作用
  • 域名备案时网站名称苏州建网站的公
  • 2017网站备案申请个网站要多少钱
  • 微信做自己网站wordpress如何压缩图片大小
  • 基金网站制作网站建设绿茶科技
  • 山东网站建设网络公司wordpress主题 简约
  • 做网站哪个公司好 快选宁陵建站宝网站风格对比信息表
  • 网站建设维保合同范本免费软件加速器
  • 怎么免费做公司网站学室内设计去哪好
  • 做的高大上的网站瑞安做网站
  • 做网站的工资淘宝建设网站的目的是什么
  • 网站制作的核心技术平度网站建设
  • 多语言网站建设幻境避免视觉效果混淆对吗
  • 徐州做网站企业免费注册建网站
  • 建立网站难吗网站建设测评报告
  • 金蝶KIS专业版v12.3_破解补丁/金蝶KIS专业版v12.3下载
  • 2025 最新推荐!大连深海原种海参源头厂家权威榜:聚焦全产业链优质供应商及选购指南青海淡干/青海围堰/青海圈养/青海吊笼/青海网箱/青海大棚海参厂家推荐
  • 博客导航
  • 金碟KIS迷你版v12.0sp1注册补丁/金蝶迷你版破解
  • 湘潭网站建设 皆来磐石网络外贸公司怎么开
  • 建网站都用什么字体上海手机网站案例
  • 长沙com建站网站设计免费炫酷网站模板
  • 网站建设阿里云天津的网络优化公司排名
  • 下载flash网站发卡平台wordpress
  • 建设部网站网上大厅网站后台邮箱配置
  • 自己做网站如何挣钱可以自己制作视频的软件