By 高焕堂 2013/08/30
设计演练:以EIT造形来思考框架设计
内容
- 软件代码造形的演进
- EIT造形的定位
- 软件造形的特征
- “造形很简单”的意义
- “内涵可复杂(多变)”的意义
- “重复地组合”的意义
- 迅速落实为代码
- <强龙/地头蛇>分工模式
- 设计演练:以EIT造形思考设计
- 结语
1. 软件代码造形的演进
1.1 回顾与前瞻
回顾1970年代的C语言,函数(Function)和数据结构(Data Structure)是计算机语言的基本模块(Basic Building Block);因此IT系统分析&设计人员就以函数和数据结构去发展建模方法和实现工具。例如当年的结构化(Structured)设计方法和数据库(Data Base)系统等。当时系统分析与设计的基本模块是:单一的函数造形;并且能直接对映(Map)到代码。到了1980-90年代,OOP成为业界主流,类(Class)成为C++和Java等OOP语言的基本模块。因而有了UML建模语言和OOAD(Object-Oriented Analysis and Design) 方法问世。于是,系统分析与设计的基本模块扩大为:单一的类造形;并且能直接对映(Map)到代码。
以此类推,1995年Gamma推出了设计模式(Design Patterns),成功地成为系统分析和设计的基本模块。但是,设计模式花样繁多,其幕后缺乏单一模式来组合出各种设计模式,无法直接对映到代码。因而,设计模式未能扩大系统分析和设计的基本模块。至今,类(Class)仍然是大多数系统架构师或分析师心中的基本设计模块。于2012年5月,高焕堂老师提出了单一的EIT造形,来扩大系统分析和设计的基本模块;并且能直接对映(Map)到代码。这EIT造形内含3种要素:<E>对映到代码的基类(Super-class)、<I>对映到基类的抽象函数(Abstract Function)、而<T>则对映到代码的子类(Subclass),如下图所示:
1.2 基于类造形的设计
例如,针对五子棋进行OOAD分析与设计:
(图片来源:互动百科)
依据下述步骤,设计师以类造形来思考设计(与分析)
以上是基于类造形的传统OOAD(Object-Oriented Analysis and Design)方法,进行<五子棋>软件的架构设计。接下来,我们将把类造形扩大到EIT造形。
2. EIT造形的定位
于2012年5月,高焕堂老师提出了单一的EIT造形,来扩大系统分析和设计的基本模块;并且能直接对映(Map)到代码。这EIT造形内含3种要素:<E>对映到代码的基类(Super-class)、<I>对映到基类的抽象函数(Abstract Function)、而<T>则对映到代码的子类(Subclass),如下图所示:
其中,接口就是一种抽象类,所以在本质上,EIT造形就是由3个类所构成的,能直接对映到代码(即3个类的代码)。EIT造形就像自然界的原子(Atom)造形或DNA螺旋造形一般,自然界的不同物质都具有一致的简单造形,但其内涵却都可以不相同。其中,”EIT”名称是来自汽车的<引擎(Engine)、接口(Interface)、轮胎(Tire)>三种角色,及其之间的关系。EIT造形介于类和设计模式之间。它是由3个类所构成的单一造形;它又能组合出各种设计模式。 (Continued)
Go To Part-2 >>