日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式之 抽象工厂 封装业务逻辑层和Dao层

發布時間:2025/6/15 asp.net 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式之 抽象工厂 封装业务逻辑层和Dao层 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一般情況下軟件應該盡量遵循以下的設計原則:?開閉原則(OCP)

  • ? 對擴展開放,對修改關閉

里氏替換原則(LSP)

  • ? 任何類出現的地方,子類一定可以出現(is-a)

依賴倒轉原則(DIP)

  • ? 盡量依賴抽象,不要依賴具體

接口隔離原則

  • ? 接口盡量小,不要提供大的接口,使通信盡可能窄

合成復用原則

  • ? 盡量采用合成和聚合的方式達到利用,而不要使用繼承的方式達到利用

迪米特法則

  • ? 一個軟件實體盡可能少的與其它實體發生作用

抽象工廠:實現多個產品的創建?優點:對產品的增加支持OCP原則?缺點:對產品系列的增加不支持OCP原則 抽象工廠的示意圖如下:?下面是一個抽象工廠生產Manager和DAO的示例:

在classpath下創建一個xml文件bean_config.xml,當我們每建立一個Manager和DAO時就在這里配置類信息 <?xml version="1.0"encoding="UTF-8"?> <bean> <manager-class> <manager id="gd.hz.manager.ItemsManager"class="gd.hz.manager.ItemsManager"></manager> </manager-class> <dao-class> <dao id="gd.hz.dao.ItemsDAO"class="gd.hz.dao.ItemsDAO"></dao> </dao-class> </bean> ? 創建工廠BeanFactory(接口省略),使用dom4j讀取配置文件: package gd.hz.util;import java.io.InputStream; import java.util.HashMap; import java.util.Map;import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader;public class BeanFactory {// 使用單例private static BeanFactory beanFactory = new BeanFactory();private final String beanConfigFile ="bean_config.xml";// 存放Manager實例集合private Map<String, Object> managerMap = new HashMap<String, Object>();// 存放DAO實例集合private Map<String, Object> daoMap = new HashMap<String, Object>();private Document document = null;private BeanFactory() {// 初始化SAXReaderSAXReader reader = new SAXReader();InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(beanConfigFile);try {document = reader.read(in);} catch (DocumentException e) {e.printStackTrace();}}public static BeanFactory getInstance() {return beanFactory;}// 傳入配置文件中id屬性的名稱,配置class屬性,用反射產生對象.public synchronized Object getManagerObj(String managerName) {// 若存在實例則反回.if (managerMap.containsKey(managerName)) {return managerMap.get(managerName);}// 讀取配置文件Element el = (Element) document.selectSingleNode("/bean/manager-class/manager[@id='"+ managerName +"']");String className = el.attributeValue("class");Object manager = null;try {// 反射半生實例manager = Class.forName(className).newInstance();} catch (Exception e) {e.printStackTrace();throw new RuntimeException("類加載失敗!!");}// 放入容器中.managerMap.put(managerName, manager);return manager;}public synchronized Object getDaoObj(String daoName) {if (daoMap.containsKey(daoName)) {return daoMap.get(daoName);}Element el = (Element) document.selectSingleNode("/bean/dao-class/dao[@id='"+ daoName +"']");String className = el.attributeValue("class");Object dao = null;try {dao = Class.forName(className).newInstance();} catch (Exception e) {e.printStackTrace();throw new RuntimeException("類加載失敗!!");}managerMap.put(daoName, dao);return dao;} } ?

測試:

public static void main(String[] args) { //從工廠獲取BeanItemsManager itemsManager = (ItemsManager)BeanFactory.getInstance().getManagerObj(ItemsManager.class.getName()); }

總結

以上是生活随笔為你收集整理的设计模式之 抽象工厂 封装业务逻辑层和Dao层的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 大地资源中文在线观看免费版 | 亚洲伊人天堂 | 亚洲在线免费视频 | 亚洲精品日韩丝袜精品 | 中文字幕观看视频 | 国产成人资源 | 蜜桃视频在线入口www | 色涩综合 | 欧美精品久久久久a | 奇米影视大全 | www.一区二区三区四区 | 天堂av中文在线观看 | 国产精品久久久久久久久 | 国产视频精品一区二区三区 | 欧美成人黄色小说 | 亚洲尤物在线 | 一区二区视频免费观看 | 伊人婷婷综合 | 国产成人aⅴ | 天天艹av | 一二区在线观看 | 亚洲黄网在线 | 四虎黄网 | 69网址| 一区二区三区www污污污网站 | 在线一级片 | 欧美精品99久久久 | 日韩免费视频观看 | 大白屁股一区二区视频 | 亚洲精品视频在线免费 | 色婷婷国产 | 日本色妞| 日本三级中国三级99人妇网站 | 欧美久久一区二区 | 影音先锋成人资源网 | 亚洲黄色小说网 | 亚洲精品久久久久久久久久久久久 | 中国特级黄色大片 | 青青草在线免费观看 | 亚洲精品国产精品乱码不99 | 久久伊人精品视频 | 亚洲www.| 97人人在线视频 | 男生裸体视频网站 | 久久九色 | 麻豆免费下载 | 中国毛片网 | 欧美性理论片在线观看片免费 | 你懂的在线免费观看 | 欧美日韩中文字幕 | 无码人妻aⅴ一区二区三区69岛 | 欧美顶级黄色大片免费 | 欧美高清在线观看 | 免费a级片视频 | xxxx亚洲| 女子spa高潮呻吟抽搐 | 国产一国产二 | 无码人妻丰满熟妇奶水区码 | 91精品国自产在线观看 | 99色婷婷| 亚洲AV午夜精品 | 久色88| 老司机深夜视频 | 国产精品7777 | 中文有码一区 | 裸体女人a级一片 | 天天躁日日躁狠狠躁喷水 | 99热免费| 国产美女精品在线 | 欧美午夜在线视频 | 久久一 | 久久久久久久极品 | 狠狠夜| 精品久久毛片 | 日本a级一区 | 欧美性生活 | 不卡av免费在线观看 | 日韩亚洲欧美中文字幕 | 黄色网页网站 | 女同久久另类69精品国产 | 黄色一级大片免费版 | 牛牛免费视频 | 国产精品一卡二卡在线观看 | jizz日本在线播放 | 福利一区二区在线观看 | 欧美一区二区高清 | 五月天在线观看 | 国产情侣一区 | 国产精品久久免费视频 | 吊侵犯の奶水授乳羞羞漫画 | 99视频久 | 日韩欧美一区二区三区在线观看 | 亚洲精品无码一区二区 | 国产好片无限资源 | 日本少妇中出 | 午夜久久久久久久久久久 | 欧美在线 | 亚洲 | 国产超碰精品 | 欧美精品免费在线观看 |