原创文章,转载请务注明出处 OOP三大基本特性 封装 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类操作,对不可信的进行信息隐藏. 继承 继承是指这样一种能力,它可以使用现有的类的所有功能,并在无需重新编写原来类的情况下对这些功能进行扩展. 多态 多态指一个类实例的相同方法在不同情形有不同的表现形式.具体来说就是不同实现类对公共接口有不同的实现方式,但这些操作可以通过相同的方式(公共接口)予以调用. OOD七大原则 面向对象设计(OOD)有七大原则(是的,你没看错…
我应该如何阅读? 本文将使用优雅的文字风格来告诉你什么是状态模式. 注意: 1.在阅读本文之前请保证你已经掌控了 面对对象的思想与 多态的基本概念,否则将难以理解. 2.本文实现将用C++实现,你不一定必须学会C++,这些代码都有非常丰富的注释和简单的语法. 3.请不要跳着看,除非你已经学会. 那么现在开始吧 或许你会以为是类的各种状态,其实差不多.但是还有各种行为 允许一个对象在其内部状态改变时改变它的行为.实例化的对象看起来似乎修改了它的类 首先,状态,顾名思义你应该就差不多明白.它可以表示…
head first 设计模式,是比较有趣的一本设计模式的书. 在学校里看书和在工作时看书,意义是不一样的.在学校时是为读书而读书,我们可以从0到1,我们有的是时间.但是工作后就不一样. 我觉得这时的书更像是打通自己任督二脉的武功秘诀.在平时工作中,杂七杂八地学了一些东西,但是却不能融会贯通.所以还需要通过书来厘清你的思路.这是写本文的出发点,也是我的碎碎念! 看完该书后,转换成自己的语言,再表达出来,可能有错(那是一定的),但是,有总比没有好.如果有同学能够从中得到些启发,也算是自己的一种幸运…
设计模式 看到标题,大家是不是觉得不可思议,java的23种设计模式那么‘复杂’,那么‘难懂’,用一句话怎么说的明白呢? 首先,各位看官不要误解,近来在回头看设计模式,之前都看过,但时间是把‘杀猪刀’,更是瓶‘健忘药’,特别是对于‘程序猿’来说,有些东西一周不看,就会‘如隔三秋’,本篇旨在用一句话描述一种设计模式,目的仅仅是帮助我们记住每种设计模式是用来做什么的,仅此而已! 这次的回故让我对设计模式又深入明白了几分,但这里面的水真的太深,理论是一方面,实践才能出真知. 只有理论联系实践,才能理解…
Java 设计模式 设计模式是对应于不同的应用目的的.   适配:将特定功能接口适配需求方   桥接:面向两个接口,无关接口的实现: 抽象化与实现化解耦,使得二者可以独立变化:例:笔与图形,笔可以画图形,笔可以有铅笔,圆珠笔等,图形可以有圆形,方形等:Eclipse 平台上的桥接模式   工厂:定义一个用于创建对象的接口,让子类决定实例化哪个类,是一个类的实例化延迟到其子类.   抽象工厂:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类.为了让相互依赖的接口共同协作:类比桥…
原文链接:http://blog.csdn.net/LCL_data/article/details/12117349 按照目的来分,设计模式可以分为创建型模式.结构型模式和行为型模式. 按照目的来分,可分为创建型模式.结构型模式和行为型模式. 创建型模式:工厂模式(工厂方法.抽象工厂.建造者.原型.单例) 结构型模式:连接模式(适配器.桥接.组合.修饰者.外观.享元.代理) 行为型模式:责任链.命令.解释器.迭代器.中介者.备忘录.观察者.状态.策略.模板方法.访问者模式. 创建型模式用来处理…
·结构型模式: o适配器:用来把一个接口转化成另一个接口,如 java.util.Arrays#asList(). o桥接模式:这个模式将抽象和抽象操作的实现进行了解耦,这样使得抽象和实现可以独立地变化,如JDBC: o组合模式:使得客户端看来单个对象和对象的组合是同等的.换句话说,某个类型的方法同时也接受自身类型作为参数,如 Map.putAll,List.addAll.Set.addAll. o装饰者模式:动态的给一个对象附加额外的功能,这也是子类的一种替代方式,如 java.util.Co…
[放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命…
1 缓存 Cache 系统中大量的用到缓存设计模式,对系统登入之后不变的数据进行缓存,不从数据库中直接读取.耗费一些内存,相比从SQL Server中再次读取数据要划算得多.缓存的基本设计模式参考下面代码: private static ConcurrentDictionary<string, LookupDialogEntity> _cachedLookupDialogEntities = new ConcurrentDictionary<string, LookupDialogEnt…
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周…