245
人是一个雇员,可以实现多个角色,一个角色相当给它戴一顶帽子,它可以同时戴上三顶帽子,当然一般是在不同的时点上,去带不同的帽子,所以你要记住这里面的关键性的概念,一个员工它在一个流程里面扮演了一个不同的角色。所以说,一个员工可以实现多个角色,但是它可能在一个时间点只戴一顶帽子,在不同的时点上可以带不同的帽子,而这个帽子就是什么呢?
经常带着的那个帽子是职位,不是岗位。岗位是有时间先后顺序的,然后它在做不同岗位的时候,它可能会带着不同的帽子。所以理解这个概念,一个岗位是完成一组任务的,然后有个顺序,做每个任务的时候,它可能会带着一个不同的帽子,这个帽子就是它的那个职位。
我们的系统是岗位能力测评平台,首先从用户的角度来看,是岗位的一个集合,在这个岗位在一个流程里面,当不同的员工扮演不同的角色的时候产生的。你现在构造的领域模型是什么样的?岗位是职位,还是岗位有职位,也就其它是啥,假如你解决了这个问题,在一万名员工的企业里进入了流程,所以岗位就会很多。
然后你要进行岗位测评的时候,这个岗位还在变化,那你怎么对所有岗位进行分类?假如你这个企业一万个岗位员工,这个系统怎么快速的让人家找到其中它关心的一个岗位,那就是怎么对这岗位进行分类?
246
我们在日常生活中是怎么采用哪一种方式来对它进行分类,说白了就是用内涵的方式定义,还是用外延的方式去给它定义?
你慢慢就会理解了,绝大多数情况下,当你不能把这个东西说得很清楚的时候,大家还没有达成共识的时候,用什么方式去定义?
这可能要用外延的方式,而不能用内涵的方式去定义了,内涵方式定义的是有个集合,最里面的任何一个元素都满足一个约数,然后每个元素都有这样的一个特征,然后有无穷多个元素。所以说,你看内涵的方式我有个概念,这个概念是什么东西?
我们都是一个类,对象的集合,然后放进去的对象只要满足同样的一种约束,我们说就弄成内涵的了,当然不一定非得是内涵,这就可能弄成内涵的了,所以说内涵最大的特点,你从数学的角度讲,有一个集合,集合是没有边界的,意思是说这个集合中包含的元素是无穷多的,对其中的任何一个元素,我都能说清楚它的规则,一种约束,只要符合这个要素,这个元素,就可以扔到这个集合里。
247
那,外延内容又该如何理解呢?
比如说,一个北约组织,刚开头的北约比如说只有12个成员国,这是你定义的,然后再把这个东西去扩展,大西洋北约组织,北约组织原来有12个国家,现在扩扩展到29个国家了,大家知道原来东欧一般都不在那里,里头都只有西欧,然后加上美国,后来东欧也扔进了这个集合里。
怎么样理解北大西洋组织那个概念,这是个外延的概念,它不能再附加这样一个规则,我们要理解什么是内涵,什么是外延。
针对概念的内容来讲是内涵,你对它里面所有的东西都已经认识的很深刻了,你才能用这种方式去定义,这样就能抽象出共性,凡事放进去都要满足这些约束,都可以塞进去,然后可以无穷多,可以这么来理解。
248
对象的分类是怎么分类的?
对象都是一个个的实体,然后才能对它进行分类,再慢慢地研究它们的共性,再抽象出来一个东西。所以说就会发现这个概念,一般用在设计的时候,你就会发现它往往是内涵的,但是肯定是一步一步的扩展过来的
用例和协作之间的关系如下图:
用例和协作之间的关系,我们已经讲清楚了,这对我们将来获取架构是很重要的。好,那行为性的是什么?
249
有三个交互,状态机和活动,这个再简单的解释一下。
就是交互描述的是群体行为,群体行为说的最突出的是两个对象以上,然后状态机是描述一个个体行为的,我们说状态机就可以把它当成一个对象的传记,我们在架构里面有一句话,架构要聚焦这个系统里面意义重大的元素上,要给它画一个合成物结构图,然后再要给它画一个状态机,我们这个结构性的元素不都是有行为的,比如说一个复杂的状态机,给它附加了一个活动图,甚至给它附加了一个复合的结构图。
就说我们在前面在讲一些定性的东西,就是架构定义,然后架构要聚焦在重要的元素上,架构要平衡涉众的需要,架构可以有一个以上的风格,你在想想这个东西,我怎么在平常生活中给它对应起来,这可以增强我们对架构的理解,那怎么一眼就能瞅出来这个架构是意义重大的元素呢?