
设计模式
fluke2015
hello,world
展开
-
适配器模式
大家都见过电源适配器吧,电源适配器就是最典型的适配器模式的实现假设A公司对竞争对手B公司进行了收购重组A公司希望重组后和B公司的采购程序用同一套程序假设A公司的采购程序如下class CollectA{ void collect() { ...//具体采购过程 }}B公司采购程序·如下class CollecB{void pl...原创 2020-03-13 13:21:15 · 128 阅读 · 0 评论 -
命令模式
假设我们现在有一个遥控器,但是现在我们想用这一个遥控器去控制房间所有的电器,假设每个电器最多有四个操作,而且遥控器上只有5或者6个按钮,怎么办呢命令模式给了我们一个解决思路首先我们需要一个命令接口Interface ICommand(){ excute();unexcute();}然后我们可以将所有电器的Command实现这个接口,例如LightComman...原创 2020-03-13 12:25:06 · 136 阅读 · 0 评论 -
单例模式
单例模式ensure one Class hasonly once instance.怎么保证呢,将类的构造函数设为private,使得无法从外部获得该对象的实例,只能从内部获得class Singleton{ private Singleton singleton; private Singleton(){} public static getSingletonI...原创 2020-03-12 17:58:19 · 101 阅读 · 0 评论 -
工厂模式与抽象工厂模式原来如此简单
何为工厂,批量生产同类相同产品。理解到编程上,既为可以产生相同实例的类。为什么我们需要工厂?想想我们小时候玩的宇宙飞船游戏,利用飞船轰击石头可以使石头变碎我们才能通关,但是石头变碎后会产生不同数量的碎石块,并且每上升一个关卡石头变碎产生的碎石的数量和速度都会变多和变快。假设每一关都有3种石头,这三种石头发散的速度和发散的石块各不相同。而且随着关卡升级,这三种石头发散的速度和发散的石...原创 2020-03-12 16:01:38 · 112 阅读 · 0 评论 -
装饰器模式
首先谈谈装饰器模式,装饰器模式是可以动态的赋予对象本身没有的功能,注意动态的添加,也就是说这种添加是在运行时而非编译时。再谈谈装饰器模式,比如某商场卖芭比娃娃,然后假设现在只有一种芭比娃娃,长头发、白色连衣裙、红色高跟鞋系统对这个芭比娃娃进行模拟class BabiDoll{String hair;String clothes; void exceute(){...原创 2020-03-11 23:38:49 · 119 阅读 · 0 评论 -
策略模式
策略模式在JAVA中体现出了组合优于集成的特点。相比于在继承中写入固定的算法,策略模式提供了一种更加富有弹性的注入方法,这一特性依赖于JAVA多态的特性。具体用例子就知道了Class Duck(){ fly(){...}}比如我们有一个Duck类,现在有个WildDuck类继承自duck类,实现了自己的fly方法,然后有个CityDuck类也继承了Duck,但是Cit...原创 2020-03-11 17:51:04 · 117 阅读 · 0 评论