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

成都企业如何建网站phpstudy如何建设网站

成都企业如何建网站,phpstudy如何建设网站,node.js做直播网站,主要给人家做网站的公司一、介绍#xff0c;定义抽象工厂模式也是创建型模式之一#xff0c;抽象工厂模式起源于对不同操作系统的图形化解决方案#xff0c;如不同操作系统的按钮和文本框控件及其实现。为创建一组相关或者相互依赖的对象提供接口#xff0c;而不需要具体指定他们的具体类。二、使…一、介绍定义抽象工厂模式也是创建型模式之一抽象工厂模式起源于对不同操作系统的图形化解决方案如不同操作系统的按钮和文本框控件及其实现。为创建一组相关或者相互依赖的对象提供接口而不需要具体指定他们的具体类。二、使用场景一个对象族有相同的约束时可以使用抽象工厂模式。(比如Android、IOS、Windows Phone下都有短信和拨号软件)三、UML类图8.pngAbstractFactory抽象工厂角色声明了一组用于创建一种产品的方法每个方法对应生产一种产品上面生成产品A和B。ConcreteFactory具体工厂角色实现了抽象工厂中定义的创建产品的方法生成一组具体的产品每一个产品又位于某个产品等级中。AbstractProduct抽象产品角色定义了每种产品应有的方法ConcreteProduct具体的产品角色定义了具体工厂生产的具体产品对象实现抽象产品中声明的方法。四、通用模式代码抽象的产品A和Bpublic abstract class AbstractProductA {public abstract void method();}public abstract class AbstractProductB {public abstract void method();}具体的产品A1A2B1B2public class ConcreteProductA1 extends AbstractProductA {Overridepublic void method() {System.out.println(产品A1的方法);}}public class ConcreteProductA2 extends AbstractProductA {Overridepublic void method() {System.out.println(产品A2的方法);}}public class ConcreteProductB1 extends AbstractProductB {Overridepublic void method() {System.out.println(产品B1的方法);}}public class ConcreteProductB2 extends AbstractProductB {Overridepublic void method() {System.out.println(产品B2的方法);}}抽象工厂public abstract class AbstractFactory {public abstract AbstractProductA createProductA();public abstract AbstractProductB createProductB();}具体的工厂1和2public class ConcreteFactory1 extends AbstractFactory {Overridepublic AbstractProductA createProductA() {return new ConcreteProductA1();}Overridepublic AbstractProductB createProductB() {return new ConcreteProductB1();}}public class ConcreteFactory2 extends AbstractFactory {Overridepublic AbstractProductA createProductA() {return new ConcreteProductA2();}Overridepublic AbstractProductB createProductB() {return new ConcreteProductB2();}}五、简单实现上一篇讲到小民开了个Audi车组装工厂。随着小民生意越做越大发现Q3Q5Q7使用的零件各不相同他们的零件又有差别Q3的发动机是国产的轮胎是铁的。Q7的发动机是外国的轮胎是塑料的。不同的轮胎不同的发动机都也是一种产品类型这时候就能用抽象产品模式首先 汽车工厂需要生产轮胎、发动机、制动系统这三种部件public abstract class CarFactory {//轮胎public abstract ITire createTire();//发动机public abstract IEngine createEngine();//制动系统public abstract IBrake createBrake(); //返回 制动系统 对象}这里我们为每一个零件定义一个接口并分别创建两个不同的实现类表示不同的零部件产品public interface ITire {//轮胎接口void tire();}public class NormalTire implements ITire {Overridepublic void tire() {System.out.println(普通轮胎);}}public class SUVTire implements ITire {Overridepublic void tire() {System.out.println(越野轮胎);}}public interface IEngin {//发动机void engine();}public class DomesticEngin implements IEngin {Overridepublic void engine() {System.out.println(国产发动机);}}public class ImportEngin implements IEngin {Overridepublic void engine() {System.out.println(进口发动机);}}public interface IBrake {//制动系统void brake();}public class NormalBrake implements IBrake {Overridepublic void brake() {System.out.println(普通制动);}}public class SeniorBrake implements IBrake {Overridepublic void brake() {System.out.println(高级制动);}}具体的 不同的生产 车厂 Q3 生产厂public class Q3Factory extends CarFactory {Overridepublic ITire createTire() {return new NormalTire(); //返回普通的轮胎类}Overridepublic IEngin createEngine() {return new DomesticEngin(); //返回国产发动机}Overridepublic IBrake createBrake() {return new NormalBrake(); //返回一般制动}}具体的 不同的生产 车厂 Q7 生产厂public class Q7Factory extends CarFactory {Overridepublic ITire createTire() {return new SUVTire(); //返回SUV 车胎}Overridepublic IEngin createEngine() {return new ImportEngin(); //返回进口轮胎}Overridepublic IBrake createBrake() {return new SeniorBrake(); //返回高级制动}}客户类 具体的实例化调用 生产public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//构造一个生产Q3 的工厂CarFactory factoryQ3 new Q3Factory();factoryQ3.createTire().tire();factoryQ3.createEngine().engine();factoryQ3.createBrake().brake();//构造一个 生产Q7 的 工厂CarFactory factoryQ7 new Q7Factory();factoryQ7.createTire().tire();factoryQ7.createEngine().engine();factoryQ7.createBrake().brake();}}结果如下9.png可见当需要添加Q5时对应的零件类又要增加这是此模式一个弊端就是类的徒增如果工厂类过多势必导致文件非常多开发中一定要权衡。五、模式的优缺点:优点分离接口与实现客户端使用抽象工厂来创建需要的对象二客户端根本不知道具体实现的是谁客户端只是面向产品的接口编程而已使其从具体的产品实现中解耦同时基于接口与实现的分离使抽象工厂方法模式在切换产品类时更加灵活容易。缺点一是文件的爆炸性增加而是不太容易扩展新的产品类因为每当我们增加一个产品类就需要修改抽象工厂那么所以的具体工厂均会被修改。
http://wiki.neutronadmin.com/news/138152/

相关文章:

  • 中国石油大学网页设计与网站建设塑胶包装东莞网站建设
  • 南京网站建设公司哪家好简易动漫网站模板
  • 宾馆酒店 网站模板网站建设服务哪家好
  • 网站建设实施过程物业公司管理系统
  • 免费软件站网站设计的国际专业流程包括
  • 网站营销活动div网站模板
  • 电脑网站打不开是什么原因造成的网站建设全网推广
  • 潍坊网站建设优化个人网站怎么维护
  • 明星个人网站设计模板南山网站建设 信科网络
  • 北洼路网站建设百度官网认证免费
  • 使用网站模板快速建站教案民治做网站公司
  • 网易企业邮箱手机端登录不上咋办怎么优化电脑系统
  • 嘉兴信息网站h5可以来做网站吗
  • 网站制作常见的问题电子商务网站经营特色分析的主要内容包括
  • 访问网站出现目录wordpress 管理员账号在哪里查询
  • 网站云空间和普通空间山西省网站建设
  • 关于申请建设网站申请报告重庆建筑公司100强
  • 做网站客户给不了素材win7 iis配置本地网站
  • 网站建设取得了购买空间网站哪个好
  • 建设工程质量协会网站俄罗斯网站建设
  • 做网站怎样实现网上支付怎么样做小程序
  • jsp网站建设作业dedecms 门户网站制作
  • 贵阳市乌当区住房与城乡建设局网站娃哈哈网络营销策划方案
  • wordpress企业网站开发视频网站后台
  • 威海高区有没有建设局的网站网站开发简答题
  • 做线上网站的风险分析网站设计 版权
  • 广东建设工程招标网站专业建设 验收 网站
  • 代理网站开发金山网站安全检测
  • php访问网站网站建设 广州佛山
  • 网站迁移后 后台进不去简单网站建设方案策划