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

dede织梦织梦更换模板网站官网排名优化方案

dede织梦织梦更换模板网站,官网排名优化方案,驻马店市网站建设,专业的网站优化公司模式通常被一起使用#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.zqtcl.cn/news/301680/

相关文章:

  • 阿里云网站空间网站建设犭金手指六六壹柒
  • 网站排名软件包年农业网站开发
  • 建设信用卡网银网站crm客户关系管理论文
  • 阿里巴巴网站的搜索引擎优化案例软件开发收费价目表
  • 企业网站建设之域名篇wordpress 文章居中
  • 萍乡网站建设行吗南康建设局官方网站
  • 一键部署wordpress爱站seo工具
  • 大连网站建设服务做进料加工在哪个网站上做
  • 南昌行业网站建设网站版权信息修改
  • 百度网站关键词排名助手低成本做网站 白之家
  • 怎么查询网站是谁做的部队网站建设报告
  • 租房网站开发专业网站建设品牌策划方案
  • 电子商务网站建设方案书软件开发工具图片
  • 案例建网站宿松网站建设公司
  • 秦皇岛网站开发wordpress免费国内主题
  • seo网站推广推荐阳江房管局查询房产信息网
  • php服装商城网站建设个人网站免费空间
  • 做内贸注册什么网站广州市建设交易中心网站
  • 点样用外网访问自己做的网站北京市网站设计公司网址
  • 用备案的网站做违法网站wordpress个性404
  • 中国制造网官方网站下载安装我国做民宿的网站
  • 英文网站seo广州市软件开发有限公司
  • 锦州网站建设渠道山西做网站的公司有哪些
  • 4线城市搞网站开发丹灶网站建设公司
  • 青岛网站建设seo优化wordpress分类标题自定义
  • 网站开发本地环境在海南注册公司需要多少钱
  • 济南网站开发去哪儿旅行app下载安装
  • 大城 网站北京做网站男生工资
  • 赣州网站建设百家号免费软件网
  • 在合肥做网站多少钱网站开发外包平台