![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
__Forever__
Coder;
算法爱好者;
数学建模爱好者;
研究生期间软件硬件都做,-_-||
热爱交朋友,探讨程序世界的美妙;
目前工作从事C,C++,Linux;
邮箱:Fugangli@foxmail.com,欢迎骚扰!
展开
-
Java设计模式:命令模式学习与分析
1.要点命令模式将请求封装成对象,这可以让你使用不同的请求,队列,或者日志请求来参数化其他对象。命令模式也支持撤销操作。命令模式将发出请求的对象和执行请求的对象解耦。在被解耦的两者之间是通过命令对象进行沟通的。命令对象封装了接收者和一个(组)动作。调用者通过调用命令对象的execute()发出请求,这会使得接收者的动作被调用。调用者可以接受命令当做参数,甚至在运行时动态地进行。命令可以支持撤销,做法是实现一个undo()方法来回到execute()被执行前的状态。宏命令是命令的一种简单的延伸原创 2020-05-29 21:09:45 · 176 阅读 · 0 评论 -
Java设计模式:工厂模式学习与分析
1. 为什么需要工厂模式1.初始化对象经常造成耦合问题,因为当使用“new”时,用的是实现,而不是接口。(设计原则:针对接口编程,不针对实现编程)2.工厂处理创建对象的环节。public abstract class PizzaStore { public Pizza orderPizza(String type) { Pizza pizza; //creatPizza()方法从工厂对象移回PizzaStore pizza = creatPizza(type); pi原创 2020-05-21 10:02:47 · 212 阅读 · 0 评论 -
Java设计模式:装饰者模式学习与分析
1 设计原则封装变化多用组合,少用继承针对接口编程,不针对实现编程为交互对象之间的松耦合设计而努力对扩展开发,对修改关闭2 装饰者模式动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。装饰者和被装饰对象有相同的超类型可以用一个或多个装饰者包装一个对象用装饰过的对象替代原来的对象装饰者可以在所委托被装饰者的行为之前/后,加上自己的行为对象可以在任何时候被装饰,所以可以在运行时动态地、不限量地用喜欢的装饰者来装饰对象装饰者模式比继承更具原创 2020-05-16 15:46:25 · 186 阅读 · 0 评论 -
Java设计模式:观察者模式学习与分析
1 前言设计模式让你和其他开发人员之间有共享的词汇,一旦懂得这些词汇,和其他开发人员沟通就很容易。设计模式也可以把你的思考架构的层次提高到模式层面,而不是仅停留在琐碎的对象上。2 观察者模式观察者模式定义了对象之间一对多的依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。3 实现4 代码(Java)4.1 定义Observer接口public interface Observer { //所有的观察者都必须实现update()方法,以实现观察者接口。 /原创 2020-05-15 13:52:15 · 203 阅读 · 0 评论 -
设计模式学习:策略模式分析
1.举例分析问题:要想实现一套模拟鸭子的游戏,鸭子种类很多,有绿头鸭、红头鸭、橡皮鸭和诱饵鸭。鸭子动作很多,动作包括叫法和飞行,且不同种类鸭子叫法不同,飞行行为不同。难点:鸭子种类和鸭子动作都会随着业务的改变而发生扩展或减少。怎么办?2.定义:策略模式策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。3.设计原则3.1 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。解释:1.如果每次新的需求一来,都会原创 2020-05-12 16:12:03 · 349 阅读 · 0 评论