面向对象分析与设计—四色原型模式(彩色建模、领域无关模型)((2)
其实我现在能明白当时面试官说的是什么意思,他是指我未能清晰的表达出各个类的职责,看上去每个类扮演的角色都是一样的,无非就是属性、方法这些类元素,我未能捕获到核心领域概念,未能站在领域考虑建模,而是站在代码的层面上来从低往上看的,很多东西是看不清楚的,说白了,开发人员拿到这个类图能否明白自己将要面对的领域,如果能明白,此时类图模型是健康的,如果不明白那就是有问题的,因为模型图不是给自己看的,而是给整个团队交流共享的。
后来我自己调整了一下心情,就算面试失败我也要有总结才行,面试本来就是一个被虐的过程。(“佛曰:此时正是修行时”,就当是锻炼好了。)
我虚心的向面试官请教我这个模型图哪里有问题,他指出了有可能我这辈子都无法看见的分析盲点,他说这个问题是程序员用技术思维来分析建模的通病。为什么他能看见这些盲点,而我不能,我很想知道这其中的精髓,我当时就要求降薪到这里来学习,面试官不降薪愿意让我过来,他也是一个对技术有追求的人吧。但是后来我有特殊事情未能去贵公司就职,此后我一直遗憾,这个建模精髓我有可能一辈子都搞不懂了。
现在我能明白,其实如果用代码级别的分析思维来辅助你建模就一定会有盲点,因为代码级别的“设计模式”,“设计原则”并非建模时的“分析模式”,这是两个不同的问题域,也就是说彼此用在不同的业务领域的,不能够一概而论,如果交叉使用就会误导你目前的重心,你会往里面添油加醋。
“建模”这个非常抽象且神圣的词是多么的霸气,貌似是已经触及软件工程的最高境界了;崇拜,自卑;搞软件开发也有几年了,居然连建模都不懂;那一夜我彻底失眠了,从那以后我在技术上充满了无助感,为什么?因为我已经清楚自己要想在软件领域有一定的成果,必须学会对真实世界建模,从那开始”建模“一词在我脑子的已经和UML关系不大了。
之后我在软件分析、设计的海洋里苦苦寻找这个曾经在我面前就像流星一样划过的”建模金钥匙“,有了它我就可以去一个神圣的世界。辗转反侧几年过去了,在前不久我终于知道“建模的金钥匙”是什么了,这类东西在网络上很少见,写的很少,下面我们来详细了解它。
2.问自己,UML对你来说有意义吗?它帮助过你对系统的分析、建模吗?
我想学过软件开发的人都多多少少了解UML,简单讲它就是一个用来建模的语言,你可以纯粹的把它理解成是一个画图工具,定义了一些元素,用来表达不同的概念。这里我们关心的是UML类图,也就是用来进行面向对象结构建模用的,通过各种不同的图形来表达抽象的对象结构。
图1:简单的订单类图
上图是一个很简单的“订单”与“产品”相关的类图,我们都能懂这里面的意思,因为我们对这块的业务很了解;知道在什么地方应该有什么,比如Order中的计算商品总价的算法,有相关业务背景的人都知道这里是会存在的极大逻辑变化的地方,所以我们需要通过接口来隔离这块逻辑。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>