问:面向对象的设计、开发 与 实际工作中的规范化、流程化、定型化 架构之间的矛盾,如何处理?如何使OOA、OOD实战化,特别是在水平各异的整个团队中普遍展开
答:规范化、流程化、定型化与面向对象的设计、开发没有绝对矛盾。开发规范中文书中都把UML的使用模板化了,反而更利于面向对象的设计、开发。或许面向对象更适合迭代式开发,但是瀑布似的规范化、流程化、定型化一样可以使用面向对象。在团队中,水平最高的架构师做OOA,设立整体的规范模板,次之的做OOD,再次之的做OOP,水平各异的团队要保证高水平对低水平人员的足够的review
问:开发规范文书中所定义的模板化的东西,都是共性的东西,是“放之四海而皆准”的东西,它不可能知道我要做的一个项目的其中一个业务是什么样子的。
也就是说,它仅仅能做到框架结构是OO的。我的问题是,如何才能让业务也OO起来呢?比如,课上例子中办理旅游申请这个业务,把申请单和申请人都作成相应的Class。而到了另外一个页面,比如导游回来后要报销,那么报销的科目可能是一个Class。这时候,没有哪个文书或生成工具可以帮助我们。反而,如果我们按照课程中教授的UML方法去给这些业务建模的话,得到的那些Class,又当如何安放到我们的框架规范当中去呢?
答:业务的OO,要在问题域,也就是业务的现实世界模拟抽象出概念模型来,这个概念模型,也就是有概念类组成的,与现实世界的业务是能够一一映射的,有了这个模型,我们就可以OO下去。
问:一个成型的框架,比如 MVC,比如3层结构,已经规定好了,数据通过POJO保存,业务逻辑在Service中,这样Service也好,数据持久层的DAO也好,都成了贫血对象,在有些架构中它们甚至是单例的。POJO是它们之间调用时的参数或返回值。
于是,从结构来看,3层之间各司其责,互相关联;不同POJO也可能有聚合甚至组合关系,这是OO呀。
但是,从业务角度看,通过参数传递数据,通过函数进行运算,这不就是彻头彻尾的PO吗?
所以,“我们就可以OO下去”,到底该如何去做呢?
答:其实我们做一个业务,没有必要彻头彻尾的OO,业务的概念模型OO了,依照成熟的框架把各层的接口设计的OO了,这样就够了。至于具体到每个层次的某一模块,我完全可以是PO的思维来实现的。关键是现实的业务到概念模型的OO映射,概念模型到设计模型的OO映射。到具体的细节实现,不必纠结的
回答到这里,老师将帖子关闭了,但是,我的疑惑才刚刚说到关键的地方。
我还想继续问:那我们上完课,再遇到一个类似 旅行社OA 的项目,还是没法把课上学到的 建模 理论应用在项目中呀?
我承认,我所指的框架,很大程度上受到了SSH的影响。或者说在SSH里,业务如何OO起来?
我想也就是JE里才能看到更好,更能眼前一亮的答案。
分享到:
相关推荐
[最强数据恢复软件].OO.DiskRecovery.v6.0.6298.x86.x64
GO.OO声音模块。。。很好用的。....
GO.OO声音模块
06.MV56.MCM.OO.02.CN.pdf,行业资料。
OO.Defrag.Professional.v16.0.135.Keygen-MESMERiZE
[最强数据恢复系统.O&O.DiskRecovery.v6.0.6298.].OO.DiskRecovery.v6.0.6298.x86.x64
[德国O&O磁盘镜像备份和恢复软件工作站版本].OO.DiskImage.4.Workstation
com.yeke.oo_4.9.apk
[专业磁盘碎片整理工具].OO.Defrag.Professional.v15.0.73.Incl.Keymaker-ZWT.zip
直接拷贝该文件到系统目录里: 1、Windows 95/98/Me...4、如果您的系统是64位的请将32位的dll文件复制到C:\Windows\SysWOW64目录,具体的方法可以参考这篇文章:win7 64位旗舰版系统运行regsvr32.exe提示版本不兼容
偶偶网春节祝福,春节祝福页面oo25.cn网
4.ABAP OO是你可以通过接口(interface)来调用对象的业务逻辑,而不是直接去使用对象,这样就避免了你需要详细了解每一个对象的特定功能 5.ABAP OO非常容易与事件驱动的模式结合在一块 6.ABAP OO更加明确所以更易于...
O&O DiskRecovery是一款独具特色的存贮设备数据恢复软件,能直接恢复硬盘、存储卡、数码相机中的文件,只要没有被重复填写数据,即时已经进行了格式化,O&O DiskRecovery也能救你于水火.能辨别修复包括Word 文档、Excel...
SAP OO ALV技术介绍.pdf
6.OO迭代开发案例分析.pdf
Advanced OO Methodology- 4Requirments.pdfAdvanced OO Methodology- 4Requirments.pdf
Oracle Objects for OLE (OO4O) is a product designed to allow easy access to data stored in Oracle databases using any programming or scripting language that supports the Microsoft ...
SAP OO ALV技术介绍.pptx
$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};eval($O00O0O("JE8wTzAwMD0iQk9DWm1LUHF5bkR4QWJmR05FdW90c2pkUlljcmlKTXdWZ0...
主要有以下功能 01.网站地图系统 02.广告管理系统 03.AJAX留言本系统 ...1,官网更新的域名为 www.126oo.com 2,更新的播放地址 3,加入了5大高清资源播放器 4,重新整合美化了后台菜单 5,加强后台模板编辑