设计模式
lqglqglqg
这个作者很懒,什么都没留下…
展开
-
设计模式面向对象原则(转载)
开闭原则:对扩展开放,对修改关闭。例子:招安-弼马温 里氏替换原则:父类出现的地方,子类必定也能出现。例 子:孙悟空在生死薄上删了所以猴子,猴子以后不会死,那么孙悟空和猊猴这种猴子的子类也不会死。反例:在JAVA API中Property类是HashMap的子类,HashMap里键值是string, object,而Property里键值是string, string,违反了里氏替换原则。 依原创 2014-03-07 15:51:48 · 443 阅读 · 0 评论 -
原型模式
设计模式中的原型模型主要是针对构造复杂对象提出来的,当构造函数需要大量的操作时构造一个类的对象会耗费大量的资源。 本文:http://www.cnblogs.com/xudong-bupt/p/3506450.html 1.C++中的解决方案 在C++中默认提供了copy构造函数、copy assignment操作符,可以实现对象的内存拷贝,节省了新构造对象的开销,其中的实现机制就是操作转载 2015-08-27 11:18:06 · 268 阅读 · 0 评论 -
代理模式和装饰模式
http://www.cnblogs.com/jaredlam/archive/2011/11/08/2241089.html 学习AOP时,教材上面都说使用的是动态代理,可是在印象中代理模式一直都是控制访问什么的,怎么又动态增加行为了,动态增加行为不是装饰器模式吗?于是 找了很多资料,想弄清楚这两者之间到底有什么区别。结果发现这一篇英文文章讲的很清晰,就翻译一下,供参考。转载 2015-08-25 19:25:00 · 328 阅读 · 0 评论 -
责任链模式
http://www.cnblogs.com/xudong-bupt/p/3617860.html 设计模式是前人、大牛等在实际编程中对遇到的问题解决方案的抽象,也就是每一个设计模式都在编程实例中有体现。 1.责任链模式在编程中的小体现,看下面的情况: (1)if else if .... 1 if(a12){ 2 ... 3 } 4 else if转载 2015-08-27 11:15:09 · 230 阅读 · 0 评论 -
组合模式
http://blog.csdn.net/cxllyg/article/details/8104458 定义:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 范例一: [csharp] view plaincopy using System; using System.Co转载 2015-08-27 22:05:59 · 365 阅读 · 0 评论 -
备忘录模式
http://blog.csdn.net/cxllyg/article/details/8103455 定义:在不破坏封装的前提下,捕获并且保存一个对象的内部状态,这样可以将对象恢复到原先保存的状态。正如很多软件中,按Ctrl-Z会取消最后一次用户操作,即撤销(Undo)操作。 一般情况下,备忘录模式有三个类: Memento:备忘录; Originator:原发器;转载 2015-08-27 22:10:39 · 345 阅读 · 0 评论 -
观察者模式
http://www.cnblogs.com/xudong-bupt/p/3428108.html 好久没有写博客啦,之前看完了《设计模式之禅》也没有总结一下,现在回忆一下设计模式之观察者模式。 1.什么是观察者模式 简单情形:有A、B、C、D等四个独立的对象,其中B、C、D这三个对象想在A对象发生改变的第一时间知道这种改变,以便做出相应的响应或者对策。 上面的这种情形转载 2015-08-27 11:21:57 · 314 阅读 · 0 评论