四色原型

在讨论四色原型之前,我想先狗胆讨论下什么是我所认识的“世界”?

我觉得世界由物质及其相互作用组成。“物质”是不以人的意识为转移的客观存在;而“相互作用”则是我们平时所理解的各种活动,比如人与人之间的交谈,打架,等等。还有一点需要特别分析一下,那就是“何为客观”?我觉得客观是一个相对的概念,可以这样简单的理解:如果A没有修改B的权利,也就是说B不以A的意识为转移,则认为B是A的客观存在;反之,则认为B不是A的客观存在。

举个例子,一家软件公司为一家金融机构做一个金融领域的软件。该金融软件需要满足一些和金融领域相关的一些业务规则。那么业务规则相对于这家软件公 司来说是否是一个客观存在呢?回答是肯定的。为什么,因为这家软件公司无法修改该业务规则,也就是说,金融行业的业务规则是不以软件公司的意识为转移的; 那么金融行业的业务规则在任何情况下就一定是客观存在了吗?不是!因为金融行业的业务规则是由全人类想出来的,只要全人类说我们要修改这个业务规则,那它 就可以被修改,也就是说金融行业的业务规则相对于全人类来说是主观的,而不是客观的。因为全人类可以修改该业务规则。

四色原型是什么?我觉得它是帮助我们分析物质世界中各种活动的一种科学的方法论。关于什么是物质世界我上面已经讨论过了,下面看看我所理解的四色原型是什么样子的:

1. 时刻-时间段原型(Moment-Interval Archetype)

表示在某个时刻或某一段时间内发生的某个活动。使用粉红色表示,简写为MI。

2. 参与方-地点-物品原型(Part-Place-Thing Archetype)

表示参与某个活动的人或物,地点则是活动的发生地。使用绿色表示。简写为PPT。

3. 描述原型(Description Archetype)

表示对PPT的本质描述。它不是PPT的分类!Description是从PPT抽象出来的不变的共性的属性的集合。使用蓝色表示,简写为DESC。

举个例子,有一个人叫张三,如果某个外星人问你张三是什么?你会怎么说?可能会说,张三是个人,但是外星人不知道“人”是什么。然后你会怎么办?你 就会说:张三是个由一个头、两只手、两只脚,以及一个身体组成的客观存在。虽然这时外星人仍然不知道人是什么,但我已经可以借用这个例子向大家说明什么是 “Description”了。在这个例子中,张三就是一个PPT,而“由一个头、两只手、两只脚,以及一个身体组成的客观存在”就是对张三的 Description,头、手、脚、身体则是人的本质的不变的共性的属性的集合。但我们人类比较聪明,很会抽象总结和命名,已经把这个 Description用一个字来代替了,那就是“人”。所以就有所谓的张三是人的说法。

4. 角色原型(Role Archetype)

角色就是我们平时所理解的“身份”。使用黄色表示,简写为Role。为什么会有角色这个概念?因为有些活动,只允许具有特定角色(身份)的 PPT(参与者)才能参与该活动。比如一个人只有具有教师的角色才能上课(一种活动);一个人只有是一个合法公民才能参与选举和被选举;但是有些活动也是 不需要角色的,比如一个人不需要具备任何角色就可以睡觉(一种活动)。当然,其实说人不需要角色就能睡觉也是错误的,错在哪里?因为我们可以这样理解:一 个客观存在只要具有“人”的角色就能睡觉,其实这时候,我们已经把DESC当作角色来看待了。所以,其实角色这个概念是非常广的,不能用我们平时所理解的 狭义的“身份”来理解,因为“教师”、“合法公民”、“人”都可以被作为角色来看待。因此,应该这样说:任何一个活动,都需要具有一定角色的参与者才能参 与。

用一句话来概括四色原型就是:一个什么什么样的人或组织或物品以某种角色在某个时刻或某段时间内参与某个活动。 其中“什么什么样的”就是DESC,“人或组织或物品”就是PPT,“角色”就是Role,而”某个时刻或某段时间内的某个活动"就是MI。 

我觉得世界由很多的物质及其相互作用组成,而我们平时所说的软件则是一个由我们人类根据主观意识设计出来的对一个客观世界的一个虚拟映射。比如我们 在做一个图书管理系统时,会分析需求,需求来自于客观世界。我们会将需求分析的结果用代码来实现。所以,我觉得因为世界由物质及其相互作用(即活动)组 成;那么需求就是由虚拟的物质(OO中的对象)和虚拟的物质之间的相互作用(OO中的对象之间的交互)组成。所以可以引导出:当我们要设计一个软件时,主 要的任务就是要弄清楚该软件由哪些对象组成,以及由哪些活动组成,并且重点应该是要分析出有哪些活动,一切设计的最原始需求都应该以为了完成某个活动为目 标。那么该如何来理解和分析这些活动呢?比如假设一个图书管理系统中有100个活动,只要实现了这100个活动,那这个系统就自然完成了。那么如何用科学 的方法来分析这些活动呢?答案之一就是我们可以用上面提到的四色原型的分析方法来分析。即我们总是可以用这样的方法来分析每一个活动:一个什么什么样的人或组织或物品以某种角色在某个时刻或某段时间内参与某个活动。

当我学习了四色原型后,虽然我不能确定它一定是科学的正确的认识世界的方法论,但至少可以让我在分析软件需求时有一种可选择的方法可以参考。而这已 经够了,因为之前我根本没有任何方法可以参考。 接下来我准备学习DCI架构,一旦学的差不多了之后,就会用这两个新的武器来分析和设计一个论坛。分析论坛的业务逻辑用四色原型来做,而设计则用DCI架 构来做。相信这会是我近期的一个正确的并且有意义的目标。

以下是关于四色原型的一些学习资料,仅供大家参考:

http://www.jdon.com/mda/archetypes.html

http://www.jdon.com/mda/archetypes2.html

http://www.cnblogs.com/ego/articles/1384212.html

http://knol.google.com/k/object-modelling-in-colour#Class_Archetypes

http://product.china-pub.com/209160

原文:http://www.cnblogs.com/netfocus/archive/2011/03/05/1971899.html

时间: 2024-08-28 01:09:32

四色原型的相关文章

面向对象分析与设计—四色原型模式(彩色建模、领域无关模型)(概念版)

阅读目录: 1.背景介绍 2.问自己,UML对你来说有意义吗?它帮助过你对系统进行分析.建模吗? 3.一直以来其实我们被一个缝隙隔开了,使我们对OOAD遥不可及 4.四色原型模式填补这个历史缝隙,让我们真的看见OOAD的希望 5.在四色原型上运用彩色建模增强视觉冲击力 6.通过四色原型模式建模出领域无关模型 7.结束语:建模时你可以不考虑具体实现,但是建模者要懂技术实现 1.背景介绍 至今我都清楚的记得我第一次被面试官问起什么叫"建模"技术时的情景,那是好几年前的事情了,当时是胸有成竹

.NET应用架构设计—四色原型模式(色彩造型、域无关的模型)(概念版)

阅读文件夹: 1.背景介绍 2.问自己,UML对你来说有意义吗?它帮助过你对系统进行分析.建模吗? 3.一直以来事实上我们被一个缝隙隔开了,使我们对OOAD遥不可及 4.四色原型模式填补这个历史缝隙,让我们真的看见OOAD的希望 5.在四色原型上运用彩色建模增强视觉冲击力 6.通过四色原型模式建模出领域无关模型 7.结束语:建模时你能够不考虑详细实现,可是建模者要懂技术实现 1.背景介绍 至今我都清楚的记得我第一次被面试官问起什么叫"建模"技术时的情景,那是好几年前的事情了.当时是胸有

四色原型分析模式

一个什么什么样的 DESC 描述原型(Description Archetype)人或组织或物品 PPT 参与方-地点-物品原型(Part-Place-Thing Archetype)以某种角色 Role 角色原型(Role Archetype)在某个时刻或某段时间内参与某个活动. MI 时刻-时间段原型(Moment-Interval Archetype)

四色原型模式

什么时候什么人以什么身份做什么事 1.时刻-时段 MI 2.参与方 PPT 3.角色 Role 4.描述 Desc PPT必须通过Role或者Desc才能与MI打交道 PPT为中心:参与方通过什么身份做什么事Desc为中心:什么类型的东西做什么事 一个有业务含义的模块必须有MI.Role.PPT 原文地址:http://blog.51cto.com/5591787/2126543

四色原则

什么人或物以某种角色在什么地方做什么事情 四色原则,布布扣,bubuko.com

地图四色着图的C语言实现

四色问题又称四色猜想.四色定理,是世界三大数学猜想之一.四色定理是一个著名的数学定理,通俗的说法是:每个平面地图都可以只用四种颜色来染色,而且没有两个邻接的区域颜色相同.1976年借助电子计算机证明了四色问题,问题也终于成为定理,这是第一个借助计算机证明的定理.(这段文字来源于百度百科) 这篇文章主要介绍利用C语言实现地图四色着图.主要包括:设计的数据结构:算法实现等. 1 着图的数据结构 着图时无需表示具体的地图多边形,只需要表示多边形的Voronoi图即可,说的简单点可见下图: 对于左边的地

印制名片的一些分类常识:彩喷、彩印、胶印、四色都是什么意思啊?还有铜板纸、白卡纸等有什么区别

彩喷,就是彩色喷绘,不是印刷:只能作临时用.彩印,一般指的是彩色激光打印,也不是印刷,小量可以用,单价比较贵,大量打印费用太多了.胶印,就是普通的彩色印刷,要上印刷机印,适合于大量印刷.四色,现在的彩色打印与彩色印刷的基本色,都是四个颜色组成的,即,红.蓝.黄.黑:其它颜色都是由这四个基本色调成的. 铜板纸,应该说是最普通的印刷用纸,像现在市场上的杂志,瑞丽呀,时尚呀,全部是铜板纸印刷,钢板纸又分为光板纸和哑光纸,是只纸表面的光亮面.就像光面相片与哑光面相片纸一样. 白卡纸,也是印刷纸的一种,一

四色三消游戏算法

四色三消游戏算法 下面是用python写的四色三消游戏算法,很容易改成更多颜色和行列的.基本思路就是3个一样的diamonds连在一起就可以消除.废话不说,上代码: #!/usr/bin/python #-*- coding: UTF-8 -*- #====================================================================== import os import sys import getopt import time import

三色视者与四色视者身后的理论基础:色彩原理

理论上,常人的肉眼是三色视觉(Trichromacy),通过三种视锥细胞(也可以说感光色素)来生成蓝色.绿色和红色的波长.但是,肉眼的不足之处是存在同色异谱色(metamers),也就是说尽管色彩看起来相同,但实际上是由不同光谱组成的. 视锥细胞与色彩识别 我们眼睛的视网膜视锥细胞是可以分辨入射光线颜色变化的.常人一般拥有三种类型的视锥细胞,每种类型的细胞能够识别出一种颜色——绿色.红色,或蓝色,因此我们这样的普通人也被称为“三色视者”.每种类型视细胞经过不同波长的光发生不同的连锁反应,引起视觉