========== 生活化例子 ==========
想象一下,你要建造一栋房子。建房子需要三个阶段:
-
CIM (概念阶段):这是你想象中的房子。你大概知道房子需要几间卧室、厨房、卫生间,但是还没有详细的设计图。就像在脑海中有个大概的想法:我要建个温馨的家。
-
PIM (平台无关模型):这个阶段就像你找了建筑师,把你的想法变成了图纸。这些图纸没有考虑具体建房子用的材料或者工具,只是明确房子该怎么建。比如,卧室要多大、窗户放在哪,图纸是标准化的,不管你用什么建筑材料,它都能适用。
-
PSM (平台相关模型):这是建房子前最后的阶段。建筑师根据图纸,选择具体的材料和施工工具,比如用什么品牌的水泥、木材、电线等。这个阶段的设计很具体,直接对接施工队,开始动工。
========== 概念讲解 ==========
MDA 模型中的 CIM (Computation Independent Model, 计算无关模型)、PIM (Platform Independent Model, 平台无关模型) 和 PSM (Platform Specific Model, 平台相关模型) 是软件开发中常用的三种模型,用来描述软件系统在不同阶段的设计和实现。
-
CIM (计算无关模型):这是软件开发的概念阶段,主要聚焦于业务需求和功能逻辑,不涉及技术细节。CIM 描述了系统要做什么、解决哪些问题,比如用户的需求、系统的业务流程等。这个阶段不关心技术实现,而是理解客户想要什么。
-
PIM (平台无关模型):这一阶段转向技术实现的逻辑设计,但不考虑特定平台的技术限制。PIM 描述了系统的结构和行为,但不具体说明在哪个平台上实现,也不依赖特定的编程语言或数据库。例如,定义了系统要有的模块、模块之间的接口,但没有提到是用 Java 还是 Python 开发。
-
PSM (平台相关模型):这个阶段就是要具体到技术实现。PSM 基于 PIM 的设计,考虑了特定平台的要求,例如要在 Windows 上开发,还是用 MySQL 作为数据库。这个模型包含了具体的代码结构、技术栈选择等,是可以直接转换为程序代码的详细设计。
========== 简单记法 ==========
记住MDA模型的三个层次,可以用这样一句话:
“概念先想清,设计不依赖,最后平台定。”
- CIM:先想清楚概念,明确业务需求;
- PIM:设计时不依赖具体平台;
- PSM:最后根据平台来具体实现。
通过这句话,你可以快速记住每个阶段的重点!