策略模式:
策略模式封装不同算法家族,让他们之间相互替换,保证算法的变化独立于使用算法的客户。从鸭子实例可以看出策略是如何封装变化,如何使用组合,如何针对接口编程的。
第一版:
每个鸭子子类都继承超类,结果是所有鸭子都会游泳、都会呱呱叫。如果有的鸭子会飞呢,只能在超类中添加fly()行为,所以说使用继承达到复用目的并不完美了。...
分类:
其他好文 时间:
2015-05-07 12:27:39
阅读次数:
127
Moq & RhinoMocks使用Mock对象进行测试一般都会有以下三个关键步骤:使用接口来描述需要测试的对象为实际的产品代码实现这个接口以测试为目的,在Mock对象中实现这个接口在使用Mock对象的过程中,充分体现出了“面向接口编程”的设计原则,同时也促成类的良好设计。自行实现Mock对象是相当...
分类:
其他好文 时间:
2015-05-05 14:11:49
阅读次数:
170
使用一个抽象的接口隔离变化,既提高了各层的内聚性,又降低它们间的耦合。符合OO原则中的:
1. 封装变化
2. 针对接口编程,而不针对具体的实现。
3. 降低交互对象的耦合度。...
分类:
其他好文 时间:
2015-04-21 01:49:42
阅读次数:
124
1、ICE是什么?
ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,使我们能够以最小的代价构建分布式应用程序。ICE使我们专注于应用逻辑的开发,它来处理所有底层的网络接口编程,这样我们就不用去考虑这样的细节:打开网络连接、网络数据传输的序列化与反序列化、连接失败的尝试次数...
分类:
编程语言 时间:
2015-04-17 11:22:13
阅读次数:
390
Extension的主要作用是管理类的”私有”方法面向对象编程也叫面向接口编程在设计一个类的时候,有些方法需要对外公开(我们称为接口),有些方法仅仅内部使用(比如:是某个方法的一个小步骤).Extension的功能是帮我们去管理这些内部使用的方法(私有方法).Extension的语法格式和Categ...
分类:
其他好文 时间:
2015-04-11 23:54:55
阅读次数:
160
三大框架整合原理
1、三大框架的作用
struts2是一个mvc框架
spring容器
1、利用ioc和di做到了完全的面向接口编程
2、由于spring的声明式事务处理,使程序员不再关注事务
3、dao层和service层的类是单例的,但是action层是多例
hibernate
就是一个数据库的ormapping的框架
2、整合原理
1、当tomcat启动时,做的事情
...
分类:
其他好文 时间:
2015-04-11 11:48:39
阅读次数:
163
地址:http://blog.csdn.net/matrix_laboratory/article/details/136692112. socket()[cpp]view plaincopyintsocket(intdomain,inttype,intprotocol); socket()打开一个...
分类:
系统相关 时间:
2015-04-07 19:01:06
阅读次数:
204
回到目录之前的一篇Unity的文章主要是基本的实现,并没有什么特别的地方,使用Unity可以方便的实现应用程序的IoC控制反转,这给我们的应用程序在耦合度上变得高了,同时可测试性加强了,当然,这些的前提都是面向接口编程,如果你面向了具体实现去写程序,那你不用再看本篇文章了,呵呵。本文章主要分享一下,...
分类:
编程语言 时间:
2015-04-03 19:19:25
阅读次数:
227
headfirst设计模式这本书真好,准备用一个月学完。书里讲得很清楚了。设计原则:1、找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。2、针对接口编程,而不是针对实现编程。书中的代码是用java写得,现在正用swift,便做个翻译,没啥技术含量。protocol F...
分类:
编程语言 时间:
2015-04-02 20:25:01
阅读次数:
125
1)找出应用中可能需要变化的地方,把他们独立出来,不要和那些不需要变化的代码混合在一块 2)针对接口编程,而不是针对实现编程。针对接口编程,实际上指针对超类编程。超类型可以是一个接口类,也可以是一个抽...
分类:
其他好文 时间:
2015-04-01 13:37:20
阅读次数:
122