解耦合之初接触
来源:互联网 发布:mac可以抠图的软件 编辑:程序博客网 时间:2024/05/16 10:40
概述
- 在实际开发中要尽量避免各个代码成之间耦合度,要知道在高耦合度情况下会遇到这样的情况,修改某层代码可能会引起级联修改行为。
- 以xml和反射技术来解耦合
实现
配置XML文件
<?xml version="1.0" encoding="utf-8" ?><beans> <bean id="CategoryDao" class="arjenlee.daoimpl.CategoryDaoImpl"/> <bean id="ProductDao" class="arjenlee.daoimpl.ProductDaoImpl"/> <bean id="UserDao" class="arjenlee.daoimpl.UserDaoImp"/> <bean id="CategoryService" class="arjenlee.serviceimpl.CategoryServiceImpl"/> <bean id="ProductService" class="arjenlee.serviceimpl.ProductServiceImpl"/> <bean id="UserService" class="arjenlee.serviceimpl.UserServiceImp"/></beans>
使用工厂设计模式
import org.dom4j.*;import org.dom4j.io.SAXReader;import java.io.InputStream;/** * Bean 工厂 */public final class BeanFactory { public static Object getBean(String id) { try { //dom4j核心类 SAXReader reader = new SAXReader(); InputStream is = BeanFactory.class.getClassLoader().getResourceAsStream("Beans.xml"); Document document = reader.read(is); //获得根元素 Element rootElement = document.getRootElement(); //XPath选择节点,强转为子类element Element element = (Element) rootElement.selectSingleNode("//bean[@id='" + id + "']"); //获得属性 String clazz = element.attributeValue("class"); //通过反射创建对象 return Class.forName(clazz).newInstance(); } catch (Exception e) { e.printStackTrace(); } return null; }}
使用
CategoryDao dao = (CategoryDao) BeanFactory.getBean("CategoryDao");//解耦合,使用工厂设计模式
阅读全文
0 0
- 解耦合之初接触
- ffmpeg之初接触
- hadoop 之初接触
- 代码重构之解耦合
- 解耦合
- 解耦合
- java学习之初接触
- 版本管理之初接触
- android初接触之activity1
- android初接触之activity2
- android初接触之service1
- android初接触之service2
- android初接触之Intent
- moqui学习之初接触
- 程序设计之高内聚低耦合
- 软件设计之高内聚低耦合
- 模块之耦合性
- 什么是耦合?解耦合的方法有哪几种?
- javascript call函数
- 第02讲 mysql的基本使用
- leetcode 540. Single Element in a Sorted Array
- linux下几个压缩命令
- 多普勒效应的原理及应用 一 多普勒现象的发现
- 解耦合之初接触
- UVa202-Repeating Decimals-循环小数-字符串、模拟
- PHP自定义模板引擎
- Vs+Qt线程减小cpu占用率
- English Week 2
- Java transient关键字使用
- 用css3的cursor:zoom-in/zoom-out实现微博看图片放大镜效果
- 答粉丝问:想学习区块链技术如何下手呢?
- 读写锁和两种同步方式的对比