![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Graypn
学习ing
展开
-
观察者模式(Observer Patterns)
今天学习了观察者模式,做个总结,方便以后回顾。 首先是定义:观察者模式就是定义对象之间一对多的依赖关系,当一个对象状态发生改变时,所有依赖他的对象都收到推送消息并自动更新做出改变。 我的理解:生活中就有很多这样的例子,例如气象观测站和气象显示仪的关系,气象显示站是数据中心,负责获得最新的气象消息,而气象显示仪则把即使的消息显示出来,所有的气象显示仪都依赖气象站,还有求职者和猎头公司的关系,猎头公司如果有新的信息,也会推送给求职者;这里气象站就是主题(中心),显示仪就是观察者。 个人感觉如果要用到观察者原创 2014-07-16 17:27:27 · 785 阅读 · 0 评论 -
命令模式(CommandPattern)
今天主要学习了命令模式,java思想的权限访问,还有一些视屏教程,这里把比较重要的命令模式总结一下。 刚开始觉得命令模式很难得样子,但是学习完才发现他是和单例模式一样的,属于设计模式里面最简单的集中模式。 命令模式就是将命令请求封装成命令对象,然后其他的类直接调用该对象实现的接口的方法,达到调用对象的动作的目的。达到解耦合。 用小例子来解释:遥控器,电灯。遥控器要控制电灯的开关,但是遥控器中原创 2014-08-04 23:47:54 · 652 阅读 · 0 评论 -
策略模式(Strategy Pattern)
首先是策略模式的定义:策略模式定义了算法族,分别封装了起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的顾客。 这里的算法族就是指一个接口和一组实现改接口的类,然后在其他类中,声明这个接口,构造方法中,实例化实现了接口的类,这样,就能实现较低的耦合程度,例如游戏中的武器切换,定义一个武器接口,然后写好多个武器类,都继承这个接口,为了灵活动态切换武器,只要在角色类中写一个setXX(接口)方法就能在运行时改变武器,改变状态。原创 2014-07-15 13:11:47 · 741 阅读 · 0 评论 -
装饰者模式(Decorator Pattern)
终于把学了好多天的装饰者模式敲了一边,这里记录下来,供以后参考。 书上是这么定义装饰者模式的:装饰者模式动态的将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 我自己的理解为,就是一组继承同一个抽象类的组合,然后一个把另一个作为成员变量,给包裹起来,也就是装饰起来,因为抽象类里里有共同的抽象方法,所有包装着在自己的方法中,先调用被包装的方法,然后在之上加上自己的属性。原创 2014-07-31 23:49:20 · 690 阅读 · 0 评论 -
单件模式(Singleton Pattern)
可以说,单件模式是最简单的模式了,在学习之间我就知道有这个模式,并且使用过很多次,这次系统学习,发现以前的用法会出现很多问题,是危险的单件模式。 单件模式的优点也是显而易见的,程序中只有一个类的对象,避免了资源的浪费,同时还可以做到延迟初始化,提高性能。 单件模式:确保一个类只有一个实例,并且提供一个全局的访问点。 以前喜欢这么写: private static Singleton si原创 2014-08-01 19:18:49 · 715 阅读 · 0 评论