项目中会遇到这样的逻辑处理:根据不同类型调用不同的方法,通常会用到if else等语句,感觉不太好;1,应该面向接口编程2,尽量避免使用if语句实例:原来代码,接口Iservice的实现类有ServiceA ,ServiceB,ServiceCpublic static void main(Stri...
分类:
其他好文 时间:
2014-06-19 08:07:09
阅读次数:
188
定义
策略模式:定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
类图
设计原则
1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
2.针对接口编程,而不是针对实现编程。
3.多用组合,少用继承。
举例分析
设计一个模拟鸭子游戏,游戏中会出现各种...
分类:
其他好文 时间:
2014-06-15 18:20:17
阅读次数:
223
1.代码设计思路:一个总接口:规范策略执行方法一个代理类:将接口作为类的私有化变量,初始化构造多个普通接口实现类:具体实现策略方法一个方法执行类:将代理类通过构造函数初始化实现类,实现方法的执行2.模式优点:高内聚低耦合3.利用面向接口编程的思想
通过对接口的操纵 事实上实现了对实现类的具体业务执行...
分类:
其他好文 时间:
2014-06-11 10:28:34
阅读次数:
283
依赖倒置原则:包含三层含义:高层模块不应该依赖低层模块,二者应该依赖抽象抽象不应该依赖细节细节应该依赖抽象再精简些就是:其核心是面向接口编程抽象:即抽象类和接口,抽象是对实现的约束,对依赖而言也是一种契约细节:即具体的实现类,实现接口或继承抽象类所产生的类依..
分类:
其他好文 时间:
2014-06-02 03:17:41
阅读次数:
175
【ARM编程模型】硬件: 电路原理图软件:体系结构, 指令集,
寄存器组【ARM编程技术】汇编/C语言编译, 链接, 烧写和调试windows:MDKlinux :gcc【ARM接口编程】电路原理图datasheet
------> 裸机程序(不带操作系统,直接操作硬件)中断技术初始化程序【ARM基...
分类:
其他好文 时间:
2014-06-01 12:28:31
阅读次数:
293
第一种定义,是很好的面向接口编程的习惯。比如你有这么一个方法供别人调用:public List
getXXXList(){ List list = new ArrayList(); ... return list;}现在是new
ArrayList(),如果万一以后要改成new LinkedList...
分类:
其他好文 时间:
2014-05-29 10:44:05
阅读次数:
239
1.概念DIP:Dependency Inversion
Principle抽象不应当依赖于细节,细节应当依赖于抽象(说通俗点也就是要针对接口编程,不要针对实现编程;或者要依赖于抽象,不要依赖于具体)。2.为何叫“依赖倒转”?
传统的过程性系统的设计办法倾向于使高层次的模块依赖于低层次的模块;抽象层...
分类:
其他好文 时间:
2014-05-26 01:30:06
阅读次数:
232
大家有耐心的跟着做就能成功;很完成很好的一个实例;将三大框架整合使用
SSH(struts2、spring、hibernate)
* struts2
* 充当mvc的角色
* hibernate
dao层用hibernate技术来实现
* spring
* spring的声明式事务管理
* 应用spring的IOC和di做到完全的面向接口编程...
分类:
其他好文 时间:
2014-05-25 18:27:36
阅读次数:
319
策略模式定义:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
简单定义:封装可以互换的行为,并使用委托来决定要使用哪一个。
OO原则:
封装变化
多用组合,少用继续。
针对接口编程,不针对实现编程。
以书中的Duck为例:
Duck.java(抽象类,performFly()与performQuack()函数的实现委托给行为类,行为由子类...
分类:
其他好文 时间:
2014-05-22 23:20:51
阅读次数:
346