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

网站后台登陆不了html代码 wordpress

网站后台登陆不了,html代码 wordpress,网上购物网站开发的背景,房地产开发公司网站源码文章目录 前言一、简单工厂#xff08;静态工厂#xff09;1、概述2、代码实现3、优缺点 二、工厂方法模式1、概述2、代码实现3、优缺点 三、抽象工厂模式1、概述2、代码实现3、优缺点 四、总结 前言 先看个案例#xff1a;【手机和手机店】在没有工厂的时候#xff0c;手… 文章目录 前言一、简单工厂静态工厂1、概述2、代码实现3、优缺点 二、工厂方法模式1、概述2、代码实现3、优缺点 三、抽象工厂模式1、概述2、代码实现3、优缺点 四、总结 前言 先看个案例【手机和手机店】在没有工厂的时候手机店需要手机就需要自己创建还得根据用户的选择进行创建不同的手机如下图 这样手机店直接与手机对象接触就会对该对象耦合严重假如我们添加新的手机品牌还得修改手机店的create方法这显然违背了软件设计的开闭原则。如果我们使用工厂来生产对象我们就只和工厂打交道就可以了将对象的创建封装在工厂内实现使用者和对象解耦所以说工厂模式最大的优点就是解耦。 工厂模式的主要目的是将对象的创建过程封装在工厂类中客户端代码只需要关心从工厂获取对象的过程而不需要了解对象的创建细节。这样可以降低代码的耦合度提高代码的可维护性和可扩展性 一、简单工厂静态工厂 1、概述 简单工厂不是一种设计模式反而比较像是一种编程习惯。把对象的创建和业务逻辑层分开实现使用方手机店与对象手机的解耦。但工厂和产品之间还是存在耦合关系。 主要包含以下角色 抽象产品 定义了产品的规范描述了产品的主要特性和功能。具体产品 实现或者继承抽象产品的子类具体工厂 提供了创建产品的方法调用者通过该方法来获取产品。 2、代码实现 抽象手机类【抽象产品】 public abstract class Phone {public abstract String getName(); }手机产品【具体产品】 public class HuaWei extends Phone {Overridepublic String getName() {return 华为手机;} }public class XiaoMi extends Phone {Overridepublic String getName() {return 小米手机;} }手机工厂【具体工厂】 public class Factory {public static Phone createPhone(String name) {Phone phone null;if(小米.equals(name)) {phone new XiaoMi();} else if(华为.equals(name)) {phone new HuaWei();}return phone;} }手机店【使用者】 public class Sotre {public static Phone orderPhone(String name) {return Factory.createPhone(name);} }测试 public class Test {public static void main(String[] args) {Phone xiaomi Sotre.orderPhone(小米);System.out.println(xiaomi.getName());Phone huawei Sotre.orderPhone(华为);System.out.println(huawei.getName());} }3、优缺点 优点 封装了创建对象的过程可以通过参数直接获取对象。把对象的创建和业务逻辑层分开这样以后就避免了修改客户代码如果要实现新产品直接修改工厂类而不需要在原代码中修改这样就降低了客户代码修改的可能性更加容易扩展。 缺点 增加新产品时还是需要修改工厂类的代码违背了“开闭原则”。 二、工厂方法模式 1、概述 在在工厂方法模式中核心的工厂类不再负责所有的产品的创建而是将具体的工作交给子类去做。 定义一个用于创建对象的接口抽象工厂让子类决定实例化哪个产品类对象。工厂方法使一个产品类的实例化延迟到其工厂的子类。很好的解决了简单工厂的问题遵循开闭原则。 工厂方法模式的主要角色 抽象工厂 提供了创建产品的接口调用者通过它访问具体工厂的工厂方法来创建产品。具体工厂 主要是实现抽象工厂中的抽象方法完成具体产品的创建。抽象产品 定义了产品的规范描述了产品的主要特性和功能。具体产品 实现了抽象产品角色所定义的接口由具体工厂来创建它同具体工厂之间一一对应。 2、代码实现 抽象手机类【抽象产品】 public abstract class Phone {public abstract String getName(); }手机产品【具体产品】 //小米手机 public class XiaoMi extends Phone {Overridepublic String getName() {return 小米手机;} }//华为手机 public class HuaWei extends Phone {Overridepublic String getName() {return 华为手机;} }抽象工厂 class interface PhoneFactory {Phone createPhone(); }具体工厂 //小米工厂 public class XiaoMiFactory implements PhoneFactory {Overridepublic Phone createPhone() {return new XiaoMi();} }//华为工厂 public class HuaWeiFactory implements PhoneFactory {Overridepublic Phone createPhone() {return new HuaWei();} }手机店【使用者】 public class Store {public Phone orderPhone(PhoneFactory factory) {return factory.createPhone();} }测试 public class Test {public static void main(String[] args) {Store store new Store();Phone huaWei store.orderPhone(new HuaWeiFactory());Phone xiaomi store.orderPhone(new XiaoMiFactory());System.out.println(xiaomi.getName());System.out.println(huaWei.getName());} }3、优缺点 优点 用户只需要知道具体工厂的名称就可得到所要的产品无须知道产品的具体创建过程在系统增加新的产品时只需要添加具体产品类和对应的具体工厂类无须对原工厂进行任何修改满足开闭原则 缺点 每增加一个产品就要增加一个具体产品类和一个对应的具体工厂类这增加了系统的复杂度。 三、抽象工厂模式 1、概述 抽象工厂模式是一种为访问类提供一个创建一组相关或相互依赖对象的接口且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。 抽象工厂模式是工厂方法模式的升级版本工厂方法模式只生产同一个等级的产品小米手机华为手机而抽象工厂模式可生产多个等级的产品小米家族华为家族。 抽象工厂模式的主要角色如下 抽象工厂 提供了创建产品的接口它包含多个创建产品的方法可以创建多个不同等级的产品小米工厂和华为工厂的所有功能的抽象【创建手机创建路由器】。具体工厂 主要是实现抽象工厂中的多个抽象方法完成具体产品的创建小米工厂造小米家族产品华为工厂造华为家族产品。抽象产品 定义了产品的规范描述了产品的主要特性和功能抽象工厂模式有多个抽象产品小米和华为所拥有的同一系列产品的抽象【手机产品路由器产品】。具体产品 实现了抽象产品角色所定义的接口由具体工厂来创建它同具体工厂之间是多对一的关系。 2、代码实现 抽象工厂 public interface Factory {// 生产手机Phone createPhone();// 生产路由器Router createRouter(); }具体工厂 //小米工厂 public class XiaoMiFactory implements Factory {Overridepublic Phone createPhone() {return new XiaoMiPhone();}Overridepublic Router createRouter() {return new XiaoMiRouter();} }//华为工厂 public class HuaWeiFactory implements Factory {Overridepublic Phone createPhone() {return new HuaWeiPhone();}Overridepublic Router createRouter() {return new HuaWeiRouter();} }抽象产品 //手机产品 public abstract class Phone {public abstract String getName(); }//路由器类 public abstract class Router {public abstract String getName(); }具体产品 public class XiaoMiPhone extends Phone{Overridepublic String getName() {return 小米手机;} }public class HuaWeiPhone extends Phone {Overridepublic String getName() {return 华为手机;} }public class XiaoMiRouter extends Router {Overridepublic String getName() {return 小米路由器;} }public class HuaWeiRouter extends Router {Overridepublic String getName() {return 华为路由器;} }手机店 public class Store {private Factory factory;public void setFactory(Factory factory) {this.factory factory;}public Phone orderPhone(){return factory.createPhone();}public Router orderRouter(){return factory.createRouter();} }测试 public class Test {public static void main(String[] args) {Store store new Store();store.setFactory(new XiaoMiFactory());Phone xiaomiPhone store.orderPhone();Router xiaomiRouter store.orderRouter();System.out.println(xiaomiPhone.getName());System.out.println(xiaomiRouter.getName());System.out.println();store.setFactory(new HuaWeiFactory());Phone huaweiPhone store.orderPhone();Router huaweiRouter store.orderRouter();System.out.println(huaweiPhone.getName());System.out.println(huaweiRouter.getName());} }如果要加同一个产品族的话只需要再加一个对应的工厂类即可不需要修改其他的类。 3、优缺点 优点 当一个产品族中的多个对象被设计成一起工作时它能保证客户端始终只使用同一个产品族中的对象。 缺点 当产品族中需要增加一个新的产品时所有的工厂类都需要进行修改。 四、总结 以上述案例为例没有工厂就是手机店直接造手机使用者和对象高度耦合新增品类时违背开闭原则一个手机店造不同手机违背单一职责原则由此引出简单工厂手机店只需要和工厂打交道售卖手机不负责造手机的过程实现手机店和对象的解耦但是工厂和对象还是存在上述问题 由此工厂在向上抽象出“工厂规范”形成工厂方法模式不同的工厂负责不同的职责添加新的品类时增加对应工厂和产品即可 在往下走工厂做大做强以后不只是可以生产手机还添加了新的产品路由器形成抽象工厂模式。 工厂方法模式是针对单一的品类进行的实现二抽象工厂是针对多个品类产品族的实现。
http://www.laogonggong.com/news/110140.html

相关文章:

  • 网站建建设心的网站倒计时代码
  • 如何在分类信息网站做推广浙江建设厅证书查询官网
  • 浦东建设环评网站中山专业网站建设模板代理
  • 网站建设开发费怎么做账西安seo优化推广
  • 网站域名注册备案教程自己做的网站如何用手机去查看
  • 图片网站模版网页设计跳转链接怎么制作
  • wordpress会员制网站网页设计模板及代码
  • 电子商务网站建设与推广贵阳免费网站建设
  • 青岛专业做网站myapp wordpress
  • 高端网站建设公司哪里济南兴田德润实惠吗大型门户网站最担心的威胁是
  • 邯郸超速云_网站建设网站开发准备
  • 网站建设设网站如何做担保交易平台
  • wordpress网站打开满wordpress帖子添加代码
  • 什么行业最需要做网站建设莱西市建设局网站
  • 网站空间和流量wordpress热门文章页面
  • 网站互联网推广批量翻译wordpress内容
  • 网站菜单怎么做沈阳做网站的地方
  • flash网站开发个人网站如何在百度上做推广
  • 要看网站是多少html5做网页
  • 手机宣传网站做外贸网站市场分析
  • 中小型网站建设渠道文化传播公司网站备案
  • 郑州中扬科技网站建设公司怎么样免费做淘客cms网站
  • 单位不能建设网站网站seo快速优化
  • 织梦cms做网站怎么样网站 维护
  • 三河市建设厅公示网站土巴兔装修贵吗
  • 网站建设教程答允苏州久远网络好设计官网
  • 企业公司网站模版做网站导航按钮怎么猛
  • 网站建设优化服务渠道网站的技术支持
  • 做分享衣服网站的初衷是什么软件开发前景2021
  • 深圳网站建设服务聊城开发app公司