三层架构问题----解耦
来源:互联网 发布:为什么淘宝上苹果便宜 编辑:程序博客网 时间:2024/05/14 18:58
解耦的概念
在分层结构中,我们希望将各个功能约束在各自的模块当中的,而属于某一层的对象、方法“入侵”到了其他层,如将web层中的ServletContext对象传入service层,或service层调用XMLDao独有的方法,就会导致层与层之间的关系过于“紧密”,当需要修改某一层时不可避免的要修改其他关联的层,这和我们软件分层最初的设想---层与层分离,一个层尽量不依赖其他层存在,当修改一层时无需修改另一层懂得设想是违背的。这种“入侵”造成的紧密关系就叫做层与层之间发生的耦合,而去掉这种耦合性的过程就叫做层与层之间的“解耦”
利用工厂类可以实现解耦的功能。
需要在src目录下创建一个bean.properties
class BeanFactory
{
Properties properties = null;
private static BeanFactory factory = new BeanFactory();
private BeanFactory (){ }
public static BeanFactory getInstance()
{
return factory
}
static
{
Properties properties = new Properties();
properties.load(BeanFactory.class.getClassLoader().getResourceAsStream("bean.properties"));
}
/**
* 加载需要的实现类
* @param clazz
* @return
*/
public static<T> T getImpl(Class<T> clazz)
{
String key=clazz.getSimpleName();//clazz.getName()
String className = properties.getProperty(key);
try {
return (T) Class.forName(className).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
- 三层架构问题----解耦
- vs三层架构解决方案问题
- 三层架构的编译生成问题
- 用户注册的三层架构问题
- 【三层】三层架构初识
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- Nunit简单创建使用
- opencv用金字塔cvPyrSegmentation实现图像分割
- android日历控件
- Delphi 中的 procedure of object .
- 面试总结-Java基础篇
- 三层架构问题----解耦
- 链表_LINKLIST
- C#调用百度翻译接口小程序
- IOS 开源项目
- 常见算法题:判断表达式括号是否匹配
- Objective-c的内存管理MRC与ARC
- android/java遍历拷贝文件和删除文件
- HDU 折线分割平面
- java中的匿名内部类总结