Java大话设计模式】的更多相关文章

设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周…
以前只是看设计模式,每次看完都去理解一次,并没有手动去写代码,所以理解的还不是很深刻,最近查看框架源码,发现很多地方用到的都是设计模式,因为对设计模式理解的不够深刻,所以源码查看进度很慢!现在决定来温故设计模式 上面是引用大话设计模式的类图以下是java代码,这里为了简洁只写加减法两个. /** * 运算类接口 */ public interface IOperation { public Double getResult(Double numberA, Double numberB); } /…
java代理模式顾名思义,就类似于大学,我想和冰可乐,可是我又在玩游戏,于是我让我的室友帮我把可乐带回来,简单的来说我的室友就是代理,而买可乐就是需要做的行为.这是笔者理解的代理模式 大话设计模式-类图 要想实现代理,那么代理类和被代理的类就都要实现一个共同的接口,就刚刚买可乐的例子,我和我的室友都可以买可乐. 代理类可以动态的去做一些事情,例如室友心情不好不帮你买可乐了,或者心情好,在买可乐的同时还赠送我一个冰激凌,当然这是生活的例子,实际工作中,我们往往会遇到一些需要代理,但又不想给全部权限…
原型模式,在笔者理解看来就是克隆,当我们在创建第一个对象时,已经给对象赋值完毕,此时我们需要一个当前对象的副本,如果没有原型模式,我们会再次创建一个对象,然后后二次赋值,保证两个对象完全一致, 这样我们的代码可读性就比较差,而且稍不留神copy错了麻烦就大了了,此时我们如果了解原型模式,就能够美化我们的代码,看起来够整洁,而且也不会出错. 大话设计模式-类图-浅复制 所谓的浅复制,就是对象中不包含引用类型,学习JAVA的小伙伴都知值引用和地址引用的区别吧,这里不再多说,如果还不了解的小伙伴可以自…
众所周知,java是编程语言中的高级语言,在java的世界里,已经有前辈为我们封装好了各个很好用的框架,工具类等,今天笔者想说的迭代器模式也已经被封装过. 就是我们经常使用的for循环迭代器.或者Iterator,这些都已经是封装好的了.我们经常用,可能会有些读者并不知道这就是迭代器模式.笔者在实际工作中还没有 自己定义一个自己的迭代器去实现自己的业务遍历.先看下类图 大话设计模式-类图 看完类图我们能清晰看到,我们demo需要做的事情,首先定义一个自己的集合,这个集合要能创建一个迭代器.集合接…
在以前的文章里面讲述过简单工厂模式,见链接:http://www.cnblogs.com/zhuxiansheng/p/7873161.html 简单工厂模式解耦了客户端和实现的依赖,不过如果有再次扩展实现的话,我们不得不去修改工厂当中的选择分支,来添加case,然后添加新的实现,这违背了开放-关闭原则.如何解决这个问题,工厂模式给了很好的解答. 大话设计模式-类图 大话设计模式中的例子代码如下: /** * 工厂接口 */ public interface IFactory { public…
建造者模式,在笔者看来比较试用于,定制一个业务流程,而流程的细节又不尽相同,每个细节又必不可少,这时应考虑使用建造者模式. 大话设计模式-类图 先看下笔者写的一个简单的例子. /** * 所有建造过程不同的方法均定义在接口里 */ public interface IMakePerson { public void makeHead(); public void makeBody(); public void makeHandle(); public void makeLeg(); public…
看了几次抽象工厂模式,每次查看都需要重新理解一次,可能是涉及的类和接口比较多,所以比较难缕清的关系吧!在笔者看来,我们还是要吸取其思想而不是生搬硬套. 来看下类图: 大话设计模式-类图 看类图已经很乱了,来简单的梳理下.我们只看接口,这样就不难看出实际上是抽象工厂生产抽象产品的过程,而具体实现都是各自的实现类来做. 看下具体的demo: 工厂层 /** * 工厂接口 */ public interface IFactory { public IUser createUser(); public…
适配器模式,笔者不是很推荐在项目初期阶段使用,在笔者看来这个设计模式就是套接了一层,从而达到能够迎合现有的外部接口规范. 先来简单的看下类图: 大话设计模式-类图 这个模式理解起来非常简单,A→B因为接口不一致的问题变成A→C→B,这样C就是B的适配器. 看下笔者写的简单的Demo /** * 需要迎合的接口 */ public interface IPlayer { public void attack(); } /** * 被适配者 */ public class YaoMing{ publ…
代码是一门艺术,每次看完大话设计模式后都会有新的认识,有时会感叹原来还可以这样玩,相信大家都用过递归,递归的使用一般遍历文件夹等会常用到, 今天讲的设计模式类似于递归,也比较神奇,先看下类图,稍后再帮大家理一下这个设计模式的核心思想. 大话设计模式-类图 类图看起来并不复杂,就像一棵大树,枝干上可以有树叶,也可以有分支树干,而分支树干上又可以有树叶...有点拗口,总的来说就是可以不断的扩展下去. 先看下例子,读者不妨把代码拷贝下去跟着断点运行一次,相信会对组合模式有更深刻的认识,然后在自己写个其…