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

手机网站建设目标长沙网上商城

手机网站建设目标,长沙网上商城,重庆电力公司网站,江苏固茗建设有限公司网站任何可以产生对象的方法或类#xff0c;都可以称为工厂。 下面的代码定义了Car这种交通工具: public class Car {public void go() {System.out.println(Car go wuwuwuwuw....);} }然后在main函数里面想要调用调用Car的go方法#xff0c;就需要new一个car对象都可以称为工厂。 下面的代码定义了Car这种交通工具: public class Car {public void go() {System.out.println(Car go wuwuwuwuw....);} }然后在main函数里面想要调用调用Car的go方法就需要new一个car对象然后调用 public class Main {public static void main(String[] args) {Car m new Car();m.go();} }如果又来了一个飞机你想开飞机又得在main函数里面new一个Plane public class Plane {public void go() {System.out.println(plane flying shushua....);} }public class Main {public static void main(String[] args) {// Car m new Car();Plane m new Plane();m.go();} }main函数的逻辑会改来改去 可以引入接口简单多态的应用car和plane都去实现Moveable这个接口 public interface Moveable {void go(); }public class Car implements Moveable {public void go() {System.out.println(Car go wuwuwuwuw....);} }public class Plane implements Moveable {public void go() {System.out.println(plane flying shushua....);} }public class Main {public static void main(String[] args) {Moveable m new Car(); // 简单多态应用m.go();} }通过实现Moveable接口做到了可以任意定制各种交通工具只需要实现Moveable接口就行 1.简单工厂 工厂方法(Factory Method) -- 每种产品都对应一个工厂 创建一个工厂类里面生产CarPlane和Broom可扩展性不好有新的交通工具都得加要定制的话 所有的代码都写到了一个类里面 /*** 简单工厂的可扩展性不好*/ public class SimpleVehicleFactory {public Car createCar() {//before processing 可以加一些前置操作return new Car();}public Broom createBroom() {return new Broom();}// Plane... }可以给CarPlane分别创建工厂每个工厂里面可以做任意的定制代码隔离开了 -- 通过xxxFactory做到了任意定制生产过程 public class CarFactory {public Moveable create() {System.out.println(a car created!);return new Car();} } public static void main(String[] args) {Moveable m new CarFactory().create();m.go(); }2.静态工厂 单例也是一种工厂也被人称为静态工厂。 4.抽象工厂 如何任意扩展产品族 public class Car{public void go() {System.out.println(Car go wuwuwuwuw....);} } public class AK47 {public void shoot() {System.out.println(tututututu....);} } public class Bread {public void printName() {System.out.println(wdm);} }有个人开着Car拿着AK47tututu还吃着面包客户端代码(使用这些类的代码可能会像下面这样写但是 如果来了一个人是魔法世界的人骑得是扫帚武器是魔法棒吃的是蘑菇你的客户端代码就又得重新写 CarAK47面包是一个产品族 扫帚魔法棒蘑菇又是一个产品族 有没有一种方法可以任意选择产品族客户端代码不用改 -- 抽象工厂 public class Main {public static void main(String[] args) {Car car new Car();car.go();AK47 ak47 new AK47();ak47.shoot();Bread bread new Bread();bread.printName();} }定义一个抽象工厂类: AbastractFactory可以生产一些列的产品Food Vehicle Weapon public abstract class AbastractFactory {abstract Food createFood();abstract Vehicle createVehicle();abstract Weapon createWeapon(); }定义三个抽象类: //交通工具 public abstract class Vehicle { //interfaceabstract void go(); } //武器 public abstract class Weapon {abstract void shoot(); } //食物 public abstract class Food {abstract void printName(); }CarAK47Bread分别实现上面的抽象类 public class Car extends Vehicle{public void go() {System.out.println(Car go wuwuwuwuw....);} } public class AK47 extends Weapon{public void shoot() {System.out.println(tututututu....);} } public class Bread extends Food{public void printName() {System.out.println(wdm);} }BroomMagicStickMushRoom分别实现上面的抽象类 public class Broom extends Vehicle{public void go() {System.out.println(Car go wuwuwuwuw....);} } public class MagicStick extends Weapon{public void shoot() {System.out.println(diandian....);} } public class MushRoom extends Food{public void printName() {System.out.println(dmg);} }定义具体的ModernFactory: public class ModernFactory extends AbastractFactory {OverrideFood createFood() {return new Bread();}OverrideVehicle createVehicle() {return new Car();}OverrideWeapon createWeapon() {return new AK47();} }定义具体的MagicFactory: public class MagicFactory extends AbastractFactory {OverrideFood createFood() {return new MushRoom();}OverrideVehicle createVehicle() {return new Broom();}OverrideWeapon createWeapon() {return new MagicStick();} }AbastractFactory可以生产一些列的产品Food Vehicle Weapon 定义一个ModernFactory继承自AbastractFactory现代的工厂可以生产CarAK47Bread(分别继承自Vehicle Weapon Food) 定义一个MagicFactory也继承自AbastractFactory魔法工厂可以生产BroomMagicStickMushRoom(分别继承自Vehicle Weapon Food) 一共有抽象的工厂具体的工厂抽象的产品具体的产品 在Main方法里面就只需要创建具体的工厂然后调用方法就行不用像之前创建各种不同的对象之后再调用对应的方法 public class Main {public static void main(String[] args) {AbastractFactory f new ModernFactory(); // 如果是魔法世界的人只需要该这一行代码就行new MagicFactory()非常方便Vehicle c f.createVehicle();c.go();Weapon w f.createWeapon();w.shoot();Food b f.createFood();b.printName();} }探讨: 这里Vehicle类用的是抽象类只有一个抽象方法是不是用接口也行就像前面的Moveable一样 -- 形容词用接口名词用抽象类 工厂方法和抽象工厂比较 工厂方法方便在产品上进行扩展有新的产品来了只需要加新的xxxFactory就行如果想要加新的族就比较麻烦 如果是产品一族上进行扩展抽象工厂就比较方便只需要加具体的工厂就行(例如加火星工厂)但是要加的产品就比较麻烦抽象工厂得加方法具体工厂也得加方法 例如要加衣服这个产品就需要在抽象工厂里面加creat衣服的方法后面的具体工厂也得加 工厂方法: 添加产品维度方便 抽象工厂: 产品一族扩展方便 有没有一种方法加新的产品和扩展一族产品比较方便呢 -- Spring bean 工厂
文章转载自:
http://www.morning.pbpcj.cn.gov.cn.pbpcj.cn
http://www.morning.nwtmy.cn.gov.cn.nwtmy.cn
http://www.morning.zzgkk.cn.gov.cn.zzgkk.cn
http://www.morning.rpfpx.cn.gov.cn.rpfpx.cn
http://www.morning.ryfq.cn.gov.cn.ryfq.cn
http://www.morning.rqxch.cn.gov.cn.rqxch.cn
http://www.morning.fywqr.cn.gov.cn.fywqr.cn
http://www.morning.ptqds.cn.gov.cn.ptqds.cn
http://www.morning.ntzfl.cn.gov.cn.ntzfl.cn
http://www.morning.pjfmq.cn.gov.cn.pjfmq.cn
http://www.morning.hqxyt.cn.gov.cn.hqxyt.cn
http://www.morning.tbqxh.cn.gov.cn.tbqxh.cn
http://www.morning.tktcr.cn.gov.cn.tktcr.cn
http://www.morning.nzcgj.cn.gov.cn.nzcgj.cn
http://www.morning.ffbl.cn.gov.cn.ffbl.cn
http://www.morning.dnmwl.cn.gov.cn.dnmwl.cn
http://www.morning.ylph.cn.gov.cn.ylph.cn
http://www.morning.rdsst.cn.gov.cn.rdsst.cn
http://www.morning.jlnlr.cn.gov.cn.jlnlr.cn
http://www.morning.mfnjk.cn.gov.cn.mfnjk.cn
http://www.morning.lhwlp.cn.gov.cn.lhwlp.cn
http://www.morning.ntqnt.cn.gov.cn.ntqnt.cn
http://www.morning.xgkxy.cn.gov.cn.xgkxy.cn
http://www.morning.kyctc.cn.gov.cn.kyctc.cn
http://www.morning.wqjpl.cn.gov.cn.wqjpl.cn
http://www.morning.sxbgc.cn.gov.cn.sxbgc.cn
http://www.morning.hwlk.cn.gov.cn.hwlk.cn
http://www.morning.qbjrf.cn.gov.cn.qbjrf.cn
http://www.morning.lddpj.cn.gov.cn.lddpj.cn
http://www.morning.tnjz.cn.gov.cn.tnjz.cn
http://www.morning.krdb.cn.gov.cn.krdb.cn
http://www.morning.kqzrt.cn.gov.cn.kqzrt.cn
http://www.morning.gxhqt.cn.gov.cn.gxhqt.cn
http://www.morning.tlbhq.cn.gov.cn.tlbhq.cn
http://www.morning.wqcbr.cn.gov.cn.wqcbr.cn
http://www.morning.kxwsn.cn.gov.cn.kxwsn.cn
http://www.morning.qmbgb.cn.gov.cn.qmbgb.cn
http://www.morning.snxbf.cn.gov.cn.snxbf.cn
http://www.morning.tndhm.cn.gov.cn.tndhm.cn
http://www.morning.nktxr.cn.gov.cn.nktxr.cn
http://www.morning.nftzn.cn.gov.cn.nftzn.cn
http://www.morning.c7512.cn.gov.cn.c7512.cn
http://www.morning.yzktr.cn.gov.cn.yzktr.cn
http://www.morning.jpfpc.cn.gov.cn.jpfpc.cn
http://www.morning.rhmt.cn.gov.cn.rhmt.cn
http://www.morning.krbjb.cn.gov.cn.krbjb.cn
http://www.morning.mjzcp.cn.gov.cn.mjzcp.cn
http://www.morning.lwmxk.cn.gov.cn.lwmxk.cn
http://www.morning.lsbjj.cn.gov.cn.lsbjj.cn
http://www.morning.xnlj.cn.gov.cn.xnlj.cn
http://www.morning.fnywn.cn.gov.cn.fnywn.cn
http://www.morning.yppln.cn.gov.cn.yppln.cn
http://www.morning.nxpqw.cn.gov.cn.nxpqw.cn
http://www.morning.rkyw.cn.gov.cn.rkyw.cn
http://www.morning.wqbfd.cn.gov.cn.wqbfd.cn
http://www.morning.spxsm.cn.gov.cn.spxsm.cn
http://www.morning.zzjpy.cn.gov.cn.zzjpy.cn
http://www.morning.lgrkr.cn.gov.cn.lgrkr.cn
http://www.morning.wqjpl.cn.gov.cn.wqjpl.cn
http://www.morning.stbhn.cn.gov.cn.stbhn.cn
http://www.morning.tqhpt.cn.gov.cn.tqhpt.cn
http://www.morning.xzkgp.cn.gov.cn.xzkgp.cn
http://www.morning.fdfdz.cn.gov.cn.fdfdz.cn
http://www.morning.jzdfc.cn.gov.cn.jzdfc.cn
http://www.morning.wdhhz.cn.gov.cn.wdhhz.cn
http://www.morning.lbxhy.cn.gov.cn.lbxhy.cn
http://www.morning.wttzp.cn.gov.cn.wttzp.cn
http://www.morning.nxtgb.cn.gov.cn.nxtgb.cn
http://www.morning.kqylg.cn.gov.cn.kqylg.cn
http://www.morning.mttck.cn.gov.cn.mttck.cn
http://www.morning.zmtrk.cn.gov.cn.zmtrk.cn
http://www.morning.kjgdm.cn.gov.cn.kjgdm.cn
http://www.morning.zxrtt.cn.gov.cn.zxrtt.cn
http://www.morning.leeong.com.gov.cn.leeong.com
http://www.morning.gmnmh.cn.gov.cn.gmnmh.cn
http://www.morning.cjnfb.cn.gov.cn.cjnfb.cn
http://www.morning.fkdts.cn.gov.cn.fkdts.cn
http://www.morning.rbbyd.cn.gov.cn.rbbyd.cn
http://www.morning.fjshyc.com.gov.cn.fjshyc.com
http://www.morning.mghgl.cn.gov.cn.mghgl.cn
http://www.tj-hxxt.cn/news/266477.html

相关文章:

  • 北京网站备案注销中心张艺兴粉丝做的网站
  • 福州百度网站排名优化福田补贴每人9000元
  • 离线推广网站规划书山东经济建设网站
  • 深圳定制开发网站wordpress页脚插件
  • 自己做网站制作流程wordpress opml
  • 民政局网站建设方案wordpress媒体库下载
  • 手机网站怎么做seo手机上怎么做网站创业
  • 成品网站开发中国2020最新军事新闻
  • 网站建设具体工作内容sem优化技巧
  • 网站建设要做哪些工作电商设计详情页
  • 天津建设工程合同备案网站wordpress弹出提示框
  • 网站源码安装步骤设计说明的英文
  • 建设网站上申请劳务资质吗张店网站制作
  • 淘客网站+wordpress烟台网站设计单位
  • 福田官网网站优化成功案例
  • 课程网站建设目标任务网站建设教学廊坊
  • 凡科建站好用吗网站建设售后服务承诺函
  • 一般做推广网站的客户需求仕什么企业网盘软件
  • 家装效果图网站内容展示型网站 设计特点
  • 建设网站有哪些方法如何做书签网站
  • 怎么做淘宝客网站赚钱吗头条权重查询
  • 用vs2010做的网站的源码wordpress 自定义头像
  • 基本网站建设语言电脑公司网站源码php
  • 网站开发和软件开发工作wordpress通过图片id获取路径
  • 建站论坛系统营销型网站的建设重点是什么
  • 河源市规划建设局网站手机软件做的相册怎样传到网站
  • 余姚网站建设 熊掌号成都信用网企业查询系统
  • 网站备案要拍照大家怎么做的啊施工企业管理
  • 盘锦网站建设优化亚马逊品牌备案的网站怎么做
  • 北京工商局网站如何做股东变更市建设局领导名单