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

网站建设合并但与那个杭州做网站好的公司排名

网站建设合并但与那个,杭州做网站好的公司排名,网站联盟广告名词解释,vscode的网站开发配置模式通常被一起使用#xff0c;并被组合在同一个解决方案中。 复合模式在一个解决方案中结合两个或多个模式#xff0c;以解决一般或重复发生的问题。 首先重新构建鸭子模拟器#xff1a; package headfirst.designpatterns.combining.ducks;public interface Quackable …模式通常被一起使用并被组合在同一个解决方案中。 复合模式在一个解决方案中结合两个或多个模式以解决一般或重复发生的问题。 首先重新构建鸭子模拟器 package headfirst.designpatterns.combining.ducks;public interface Quackable {public void quack(); }public class MallardDuck implements Quackable {public void quack() {System.out.println(Quack);} }public class RubberDuck implements Quackable {public void quack() {System.out.println(Squeak);} } package headfirst.designpatterns.combining.ducks;public class DuckSimulator {public static void main(String[] args) {DuckSimulator simulator new DuckSimulator();simulator.simulate();}void simulate() {Quackable mallardDuck new MallardDuck();Quackable redheadDuck new RedheadDuck();Quackable duckCall new DuckCall();Quackable rubberDuck new RubberDuck();System.out.println(\nDuck Simulator);simulate(mallardDuck);simulate(redheadDuck);simulate(duckCall);simulate(rubberDuck);}void simulate(Quackable duck) {duck.quack();} } 需求1有鸭子的地方大概率就会有鹅怎样在模拟器使用鹅呢适配器 package headfirst.designpatterns.combining.adapter;public class Goose {public void honk() {System.out.println(Honk);} } package headfirst.designpatterns.combining.adapter;public class GooseAdapter implements Quackable {Goose goose;public GooseAdapter(Goose goose) {this.goose goose;}public void quack() {goose.honk();}public String toString() {return Goose pretending to be a Duck;} } 需求2如果在不变化鸭子类的情况下计算呱呱叫的次数呢装饰者 将鸭子包装进装饰者对象赋予鸭子一些新行为。 package headfirst.designpatterns.combining.decorator;public class QuackCounter implements Quackable {Quackable duck;static int numberOfQuacks;public QuackCounter (Quackable duck) {this.duck duck;}public void quack() {duck.quack();numberOfQuacks;}public static int getQuacks() {return numberOfQuacks;}public String toString() {return duck.toString();} } // 更新模拟器Quackable mallardDuck new QuackCounter(new MallardDuck()); 需求3有时候我们在代码中可能搞忘装饰对象所以我们希望在最开始创建的时候就确保鸭子是被装饰过的工厂模式 package headfirst.designpatterns.combining.factory;public abstract class AbstractDuckFactory {public abstract Quackable createMallardDuck();public abstract Quackable createRedheadDuck();public abstract Quackable createDuckCall();public abstract Quackable createRubberDuck(); } package headfirst.designpatterns.combining.factory;public class CountingDuckFactory extends AbstractDuckFactory {public Quackable createMallardDuck() {return new QuackCounter(new MallardDuck());}public Quackable createRedheadDuck() {return new QuackCounter(new RedheadDuck());}public Quackable createDuckCall() {return new QuackCounter(new DuckCall());}public Quackable createRubberDuck() {return new QuackCounter(new RubberDuck());} } 抽象工厂通过传入不同的工厂到创建方法中得到不同的产品家族。 package headfirst.designpatterns.combining.factory;public class DuckSimulator {public static void main(String[] args) {DuckSimulator simulator new DuckSimulator();AbstractDuckFactory duckFactory new CountingDuckFactory();simulator.simulate(duckFactory);}void simulate(AbstractDuckFactory duckFactory) {Quackable mallardDuck duckFactory.createMallardDuck();Quackable redheadDuck duckFactory.createRedheadDuck();Quackable duckCall duckFactory.createDuckCall();Quackable rubberDuck duckFactory.createRubberDuck();Quackable gooseDuck new GooseAdapter(new Goose());System.out.println(\nDuck Simulator: With Abstract Factory);simulate(mallardDuck);simulate(redheadDuck);simulate(duckCall);simulate(rubberDuck);simulate(gooseDuck);System.out.println(The ducks quacked QuackCounter.getQuacks() times);}void simulate(Quackable duck) {duck.quack();} } 需求4同时管理一群鸭子组合模式 package headfirst.designpatterns.combining.composite;import java.util.Iterator; import java.util.ArrayList;public class Flock implements Quackable {ArrayListQuackable quackers new ArrayListQuackable();public void add(Quackable quacker) {quackers.add(quacker);}public void quack() {IteratorQuackable iterator quackers.iterator();while (iterator.hasNext()) {Quackable quacker iterator.next();quacker.quack();}}public String toString() {return Flock of Quackers;} } package headfirst.designpatterns.combining.composite;public class DuckSimulator {public static void main(String[] args) {DuckSimulator simulator new DuckSimulator();AbstractDuckFactory duckFactory new CountingDuckFactory();simulator.simulate(duckFactory);}void simulate(AbstractDuckFactory duckFactory) {Quackable redheadDuck duckFactory.createRedheadDuck();Quackable duckCall duckFactory.createDuckCall();Quackable rubberDuck duckFactory.createRubberDuck();Quackable gooseDuck new GooseAdapter(new Goose());System.out.println(\nDuck Simulator: With Composite - Flocks);Flock flockOfDucks new Flock();flockOfDucks.add(redheadDuck);flockOfDucks.add(duckCall);flockOfDucks.add(rubberDuck);flockOfDucks.add(gooseDuck);Flock flockOfMallards new Flock();Quackable mallardOne duckFactory.createMallardDuck();Quackable mallardTwo duckFactory.createMallardDuck();Quackable mallardThree duckFactory.createMallardDuck();Quackable mallardFour duckFactory.createMallardDuck();flockOfMallards.add(mallardOne);flockOfMallards.add(mallardTwo);flockOfMallards.add(mallardThree);flockOfMallards.add(mallardFour);flockOfDucks.add(flockOfMallards);System.out.println(\nDuck Simulator: Whole Flock Simulation);simulate(flockOfDucks);System.out.println(\nDuck Simulator: Mallard Flock Simulation);simulate(flockOfMallards);System.out.println(\nThe ducks quacked QuackCounter.getQuacks() times);}void simulate(Quackable duck) {duck.quack();} } 需求5持续追踪个别鸭子的实时呱呱叫观察者模式 package headfirst.designpatterns.combining.observer;public interface QuackObservable {public void registerObserver(Observer observer);public void notifyObservers(); }public interface Quackable extends QuackObservable {public void quack(); } 现在需要保证Quackable的具体类都能扮演QuackObservable角色在具体类中添加一个arraylist变量然后实现接口方法。但这里用的不同的做法不知道为什么在Observable类中封装注册和通知的代码然后将其和具体类组合在一起。 package headfirst.designpatterns.combining.observer;import java.util.Iterator; import java.util.List; import java.util.ArrayList;public class Observable implements QuackObservable {ListObserver observers new ArrayListObserver();QuackObservable duck;public Observable(QuackObservable duck) {this.duck duck;}public void registerObserver(Observer observer) {observers.add(observer);}public void notifyObservers() {IteratorObserver iterator observers.iterator();while (iterator.hasNext()) {Observer observer iterator.next();observer.update(duck);}}public IteratorObserver getObservers() {return observers.iterator();} } package headfirst.designpatterns.combining.observer;public class MallardDuck implements Quackable {Observable observable;public MallardDuck() {observable new Observable(this);}public void quack() {System.out.println(Quack);notifyObservers();}public void registerObserver(Observer observer) {observable.registerObserver(observer);}public void notifyObservers() {observable.notifyObservers();}public String toString() {return Mallard Duck;} } ------------------------------------------------------------------------------------
http://www.tj-hxxt.cn/news/226203.html

相关文章:

  • 怎么浏览英文网站绍兴本地网站建设
  • 揭阳专业网站制作公司工程公司有哪些职位
  • 网站建设宣传文案艾宗建设计公司网站
  • 小说网页网站建设如何用wordpress查看搭建的站点
  • 哪些网做网站比较好网页设计论文题目什么样的好写
  • 云南网站建设定做网站建设的发展
  • kuake自助建站系统官网企业管理10大系统
  • 章丘营销型网站建设wordpress 加入引导页
  • 数字域名做网站企业网站设计方式
  • 做网站新手流程株洲在线网站的目标客户
  • 小清新博客网站门户类网站前台
  • 开发网站如何选需要怎么做网站源代码
  • 申请网站空间就是申请域名宁波市住房和城乡建设局网站
  • seo入门黑帽培训教程河北网站优化
  • 网站建设合集外贸流程全步骤流程图
  • 网站建设算无形资产吗在百度做推广送网站好吗
  • 宿州网站建设设计公司皋兰县建设局网站
  • 焦作网站开发公司郴州住房和城乡建设部网站
  • 小企网站建设解决方案wordpress 源码出售
  • 已有网站做app需要多少钱大连2021建设网
  • 网站友情链接怎样做网站步骤
  • asp学校网站系统申请阿里巴巴网站首页
  • 上海网站建设公司招聘企业公司黄页大全
  • 哪个公司建网站网站地图怎么用
  • 手机评测网站哪个网站是专门做招商的平台
  • 提高网站订单转化率大兴网站开发网站建设哪家好
  • dw网站建设心理学网站的建设
  • 大连网站关键词推广网站建设公司的市场定位
  • 什么对网站建设起到计划和指导作用品牌网站设计图片
  • se 网站优化一个网站是怎么建立的