程序设计风格
文章平均质量分 73
杨过悔
这个作者很懒,什么都没留下…
展开
-
The Visitor Pattern(访问模式)
1.什么是访问模式 以我的理解就是不同模型提供不同的行为,而重点就在于判决不同的模型,这里我们就是通过访问的模式 2.普通风格 ---------继承实现抽象的技术来达到"访问模式"而产生不同行为 package shapes { case class Point(x: Double, y: Double) abstract class Shape() { def draw():原创 2015-08-15 12:09:22 · 387 阅读 · 0 评论 -
Design By Contract(契约式设计)
1.前提 这是Bertrand Meyer在EL语言中提出的一个设计风格,流行了近20年。不过现在比较少用,不是很流行了,主要原因在下面提出 2.什么是契约式设计 契约式设计就是按照某种规定对一些数据等做出约定,如果超出约定,程序将不再运行,例如要求输入的参数必须满足某种条件 在scala中常用require和assume等 class BankAccount(val balanc原创 2015-08-15 11:42:17 · 3315 阅读 · 2 评论 -
single模式
思路: 实现单例必须构造器不可见,通过静态方式对外提供单一的实现 考虑实例单例对象的延迟性,和并发性,参考例子 package common; public class singleTyle { private static singleTyle single; private static Object classlock = singleTyle.class;转载 2015-10-01 20:29:42 · 525 阅读 · 0 评论 -
state状态模式
在诸多设计模式中,state的模式也是应用的非常广泛的,例如:slidemenu,下拉刷新等状态转移的应用中 我们分析一个Door的状态 整个源码设计 首先是Door类,接着是Door的状态,让后是实现状态的不同行为 例如:上面我们的Door肯定有个state变量来标志当前的doorr的状态,而且door肯定有touch的方法,这里应用了java多态性原创 2015-10-01 23:17:44 · 377 阅读 · 0 评论 -
使用装饰器模式
最经典的就是File处理,他就是基于装饰器模式开发的库,我们可以这么理解装饰器模式 -----------------------------Map函数的相反过程原创 2015-10-03 00:40:16 · 297 阅读 · 0 评论 -
设计模式之访问者模式
这个模式在早期学习scala时就碰过多次,所以还是比较熟悉的,总的来说就是某个Element同一个接口中的方法visit将自已暴露出来 就是签名为visit(Element e)的接口方法,而具体得交给具体的访问者去实现,这个有点类似接口的回调技术,只不过他的作用更大了,应为他 为访问者提供本身,而接口回调则提供本身中的某个参数(多数) 画个图好理解 百度百科也有个好例子原创 2015-10-05 21:09:13 · 316 阅读 · 0 评论 -
策略模式
http://baike.baidu.com/link?url=AZUX6w2ISPESuLT3FDt0-uCC-StNP2_HXrOTUELZuDzuOBjC_iMCDKmQ45J7nNt2rBp-5LooEQz1wQGCaBstKq原创 2015-10-11 11:11:32 · 333 阅读 · 0 评论 -
C++ 命令模式
自已的逻辑图 1.所谓命令模式就是将对象A所具有的Action分别抽象成command,即命令的对象化 例如: 对象灯泡有两个动作 turnOn turnOff 2.为了让这两个action可以执行,也就是从灯泡分离开,我们创建一个抽象的类command #ifndef COMMAND_H_ #define COMMAND_H_ cl原创 2015-10-27 20:45:57 · 706 阅读 · 1 评论 -
Interpreter模式
1.解析模式,对一串字符执行拆解然后压栈,接着如果遇到运算符接取出前面两个数进行操作,最后把结果放回原来的地方,依次进行可得到最终结果 2.解析模式比较好理解,不过熟悉算法才能很好的编写解析模式 //============================================================================ // Name原创 2015-10-27 21:55:58 · 326 阅读 · 0 评论