好了,你如今会了面向对象的各类语法了, 那请看下本章最后的做业需求,我相信你多是蒙蔽的, 不少同窗都是学会了面向对象的语法,却依然写不出面向对象的程序,缘由是什么呢?缘由就是由于你还没掌握一门面向对象设计利器, 你说我读书少别骗我, 什么利器?python
答案就是:领域建模。 从领域模型开始,咱们就开始了面向对象的分析和设计过程,能够说,领域模型是完成从需求分析到面向 对象设计的一座桥梁。设计
领域模型,顾名思义,就是需求所涉及的领域的一个建模,更通俗的讲法是业务模型。 参考百度百科(http://baike.baidu.cn/view/757895.htm),领域模型定义以下:htm
从这个定义咱们能够看出,领域模型有两个主要的做用:对象
领域模型如此重要,不少同窗可能会认为领域建模很复杂,须要很高的技巧。然而事实上领域建模很是简 单,简单得有点难以让人相信,领域建模的方法归纳一下就是“找名词”! 许多同窗看到这个方法后估计都会笑出来:太假了吧,这么简单,找个初中生都会啊,那咱们公司那些分 析师和设计师还有什么用哦?开发
分析师和设计师固然有用,后面咱们会看到,即便是简单的找名词这样的操做,也涉及到分析和提炼,而 不是简单的摘取出来就可,这种状况下分析师和设计师的经验和技能就可以派上用场了。但领域模型分析 也确实相对简单,即便没有丰富的经验和高超的技巧,至少也能完成一个能用的领域模型。get
虽然咱们说“找名词”很简单,但一个关键的问题尚未说明:从哪里找? 若是你还记得领域模型是“需求到面向对象的桥梁”,那么你确定一会儿就能想到:从需求模型中找,具 体来讲就是从用例中找。百度
概括一下域建模的方法就是“从用例中找名词”。 固然,找到名词后,为了可以更加符合面向对象的要求和特色,咱们还须要对这些名词进一步完善,这就 是接下来的步骤:加属性,连关系!全栈
最后咱们总结出领域建模的三字经方法:找名词、加属性、连关系。技巧
以本章做业为例语法
who : 学员、讲师、管理员
用例:
1.管理员建立了 北京 和 上海 两个校区
管理员 建立了 Linux Python Go 3个课程
管理员 建立了 北京校区的Python 16期, Go开发第一期,和上海校区的Linux 36期班级
管理员 建立了 北京校区的学员小晴 ,并将其 分配 在了 班级 python 16期
管理员 建立了讲师Alex , 并将其分配 给了 班级 python 16期 和全栈脱产5期
讲师 Alex 建立 了一条 python 16期的上课纪录Day6
讲师 Alex 为Day6这节课 全部的学员 批了做业,小晴得了A, 李磊得了C-, 严帅得了B
学员小晴 在 python 16 的 day6里 提交了做业
学员李磊 查看了本身所报的全部课程
学员 李磊 在 查看了 本身在 py16期 的成绩列表 ,而后自杀了
学员小晴 跟 讲师 Alex 表白了
名词列表:
管理员、校区、课程、班级、上课纪录、做业、成绩、讲师、学员
有了类,也有了属性,接下来天然就是找出它们的关系了。