安徽新华电脑专修学院_安徽电脑培训_安徽电脑培训学校_合肥电脑培训

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > Domain Model 探索

Domain Model 探索
2010-01-14 22:27:36  作者:  來源:

一直想系統的整理一下自己有關Domain Model實踐的嘗試。但總覺得自己的想法還不夠系統而作罷。
然而從另一方面看“系統的東西”也許永遠做不到,失去了目標的生活該會多乏味。
因此我決定將自己有關Domain Model設計的有關實踐和思考和盤托出,也算是拋磚引玉。歡迎大家
參與討論,遇到同你的觀點相左的地方,希望能以包容的態度來面對,我們是朝同一方向走的伙伴而不是
相互對視的敵人。:)

在深入討論之前我先拋出一些原則和概念,最后你會看到這些概念和原則的威力。
1.按照概念依賴的原則來組織業務層。
2.將業務活動(業務流程)建模成類。
3.用業務活動(業務流程)作為關聯整個業務層各種對象的骨架。
4.在業務活動中鑿出擴展點,使用不同接口分離不同性質業務對象。
5.將對象的存儲理解為業務層概念。
......

概念依賴

這是我認為能否得到良好業務層最重要的概念。
在我系統框架設計將要完成,開始涉及業務層設計時,我腦袋一片空白,書上,大家討論的大多是整個系統的結構從UI層
到服務層到數據訪問層到數據庫。到底業務層該如何組織?Martin Fowler的POEAA的書中沒有回答。找到的相關
書籍也都過于空泛。Martin Fowler的分析模式有些用處,但不夠系統。透過Martin fowler網站,我拿到了
Domain Driven Design的發行前版本。該書給了我很大的啟示。其中的要點有:
關于關聯:
1.Imposing a traversal direction (強制一個關聯的導航方向)
......
關于Responsibility Layers(業務職責層)的劃分:
作者給出了三個指導原則:Conceptual dependency.(概念依賴)為其中一項。
書中給出的描述的是業務職責層上層的對象需要通過下層對象才能在概念上完整,
相反下層對象則可獨立于上層對象存在含義。這樣天然的下層對象相對于上層對象
會更穩定。并且在今后演變的過程中,使同擴展的方式來完善系統,而不是改變對象
的方式。
通過實踐,我覺得這條原則可以應用在任何兩個有關聯的業務對象上。通常可以通過
概念依賴先建立一個導航方向。這能夠滿足大多數的需求。當確實需要反向導航時,
只要理由充分可以隨時加上,并且如果先前將這兩個對象放入不同包中,這時需要
將他們合并到同一個包中。
我見過一個不好的設計。Customer具有很多Flag分別標記該客戶是否掛失,凍結,注銷等等。
通常叫做客戶狀態,然而這是不對的,這違背了單一職責原則。事實上除了注銷外
掛失和凍結都不應該算作Customer的本質屬性。相反我把他們看作某種約束,進而把掛失看作
一種協議.....因為Customer的概念可以不依賴于掛失和凍結的概念,相反掛失和凍結卻要依賴
Customer的概念,應為這是他們動作的主體。
同樣的一開始就讓Customer有GetAccount的方法同樣不好。因為Customer的概念確實不依賴Account
XXXAccount卻可以有Customer的屬性,Account在概念上依賴Customer。

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 中国江苏国际经济技术合作集团有限公司-致力于做大做强国际工程、国内工程、国际贸易和城镇投资 中国建材信息总网-中国建材行业权威的信息资讯平台 | 西安宣传片拍摄,陕西艺景网络科技有限公司资料备份,西安影视公司,视频拍摄制作,抖音视频制作,纪录片拍摄西安短视频摄影团队,西安抖音视频拍摄 | 全球环保研究网_生态环境绿色产业咨询部_生态文明建设行业智库 ? | 上海纽森工业科技有限公司| 陕西柱塞泵厂家_智能张拉设备_桥梁施工设备_千斤顶_液压分裂棒_液压分裂枪|陕西中拓矿山设备有限公司 | 渣浆泵厂家/潜水-渣浆泵过流件-管道增压泵 - 河北聚洪泵业有限公司 | 阴_阳离子聚丙烯酰胺价格_聚合氯化铝厂家_聚合硫酸铁-巩义市亿洋水处理材料有限公司 | 微机保护装置_发电机保护_变压器保护_逆功率保护_防孤岛保护装置_光伏发电_杭州继保电气集团有限公司 | 在线红外水分测控仪-SK-100水分测试仪-上海拓西电子科技有限公司 | 狠狠穞A片一區二區三區-免费网站在线观看人数更新时间-欧洲尺码日本尺码专线不卡顿,国产大尺度禁片未删减版,baomaav | 水质在线硬度计-立柜式五参数水质分析仪-上海博取 | 激光焊接不锈钢翅片管,不锈钢翅片管,激光焊接复合翅片管,南通拓帆换热设备有限公司 | 浙江创洁卫生消杀有限公司-浙江杀虫公司,温州消杀公司,温州灭鼠公司,灭蟑螂,灭蚊蝇,灭跳蚤,灭书虱,灭臭虫,灭螨虫,白蚁防治,房间消毒除味等专业服务 | 山东发电机组生产厂家,特种火花塞生产厂家,高压线生产厂家,空气滤芯生产厂家,济南市博盛动力机械有限公司 | 液晶拼接屏_液晶监视器_液晶广告机_触摸一体机_户外广告机_中亿睿企业官网 | 树脂排水沟,树脂混凝土排水沟生产厂家-吉林省科维水泥制品公司 | 企业信息安全整体解决方案提供商-上海华垸信息技术有限公司 | 饲料设备_饲料加工设备_饲料成套加工设备专业提供商-河南杰昌机械设备有限公司 | 扬州华工电气有限公司|环氧树脂管|金刚石绝缘板|U型绝缘槽|电解槽绝缘材料 | 上海宽带安装-上海宽带办理-400电话-包月电话-靓号 | 微波烘干设备厂家-微波烘干干燥设备-山东邦普机械设备有限公司 | 钻床,数控钻床,摇臂钻床,立式钻床_滕州市高地机床有限公司 | 烟台废旧物资回收,烟台废品回收,烟台物资回收-烟台金泰再生资源有限公司 | 实木全屋定制|整木定制|整木家装|实木护墙板-浩冠家具官网 | 蜀山人才网_蜀山招聘网_求职找工作平台 | 徐州护栏,围栏,锌铁丝网围栏安全设施专家徐州铜山区威峰金属护栏厂 | 以物联网技术为核心专注于智能安防领域物联网服务的高新技术企业-北京欣智恒科技股份有限公司(官网) | 上海专升本-上海统招专升本网 | 企好网 - 中国B2B产业互联网践行者|百度爱采购官方授权一级服务商 | 无轴螺旋输送机_双无轴螺旋输送机_垃圾,污泥无轴螺旋输送机-新乡市大汉振动机械有限公司 | 开关柜无线测温_电缆接头测温系统_六氟化硫sf6气体泄漏报警监测_卫星同步时钟-山东正瑞电子有限公司 | 天津印刷_天津印刷厂_天津印刷公司_天津包装盒厂家_天津包装盒印刷厂_七层共挤膜厂家_彩色印刷_画册印刷_礼品盒定做 _七层共挤膜_食品真空袋-欢迎访问嘉联包装官网! | 中昕国际项目管理有限公司-官方网站 | 欢迎光临广西七三科技有限公司官网 | 智能化解决方案 智能家居 家庭影院 灯光音箱 会议室报告厅 剧场剧院 指挥中心 大数据中心_沈阳天哲科技有限公司 | 烘干机_回转窑_破碎机_制砂机_洗砂机_球磨机-瑞光金属制品 | 面馆加盟_重庆小面加盟_特色面馆加盟首选老城街 | 洒水车_水车_洒水车价格_喷水车_绿化喷洒车_绿化洒水车- 程力专用汽车股份有限公司 | 太原仪诚实验室设备有限公司 | 上海五相仪器仪表有限公司-鼓风干燥箱-拍击式无菌均质器生产厂家 | 西门子伺服电机维修_西门子变频器维修_西门子伺服驱动器维修_数控系统维修_PL维修-上海仰光电子 西克制冷官网│制冷机组冷风机冷库设备厂家-西克制冷(无锡)有限公司_西克制冷(无锡)有限公司 |