摘要: 装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。(1)对扩展开放,对闭合修改。装饰者利用原对象的工能,只是增加了扩展(2)就像下面的第三张图一样,最外层的装饰者会依次调用底层装饰者的方法,最终返回串行执行后的最终结果(3)装饰者的目的就是在被装饰者的行为之前... 阅读全文
posted @ 2015-10-02 13:20 mingziday 阅读(141) 评论(0) 推荐(0)
摘要: 观察者模式:定义了对象之间的依赖,这样一来,当一个对象状态改变的时候,他的所有依赖者都会受到通知并自动改变(1)主题者内置了一个List,用来保存向自己注册的观察者,观察者可以随时加入或者退出(2)一旦主题自己发生了变化,会遍历自己内置的List,调用观察者的update方法(3)观察者的updat... 阅读全文
posted @ 2015-10-02 12:34 mingziday 阅读(161) 评论(0) 推荐(0)
摘要: 策略模式:定义了算法簇,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。(1)把可变化的行为单独封装起来 阅读全文
posted @ 2015-10-02 12:23 mingziday 阅读(155) 评论(0) 推荐(0)
摘要: 从城市1到城市到城市5有很多条路,现在需要找出从1到3的最短路径。无向图:意思是来回的路径值是一样的无权图:意思是每条路径的值是一样的package myalgorithm;import java.util.LinkedList;import java.util.Queue;/*BFS用于记录的位置... 阅读全文
posted @ 2015-10-02 02:24 mingziday 阅读(1998) 评论(0) 推荐(0)
摘要: 从城市1到城市到城市3有很多条路,每条路的路况各不相同,所耗费的时间都标记在了箭头上,现在需要找出从1到3的最短路径。有向图:意思是来回的路径值可以是不一样的有权图:意思是每套路径的值可以是不一样的package myalgorithm;public class ShortPath { /*全... 阅读全文
posted @ 2015-10-02 01:14 mingziday 阅读(847) 评论(0) 推荐(0)