模式,顾名思义,就是“模”和 “式”的组合词。广义上的“模式化”是一种原型方法prototype,它用“模”给出标准/要求,用“式”达成目标/目的。
- 模Mode:表示事物的(已知)特征信息。也就是说,“模”是对事物不变性、确定性,如物理结构、内容构成等的概念化,具体形式 是“型Model” ;
- 式Style: 表示一个可以变化的特性或者会引起变化的能力。“式”是对事物变化性、未知性的概念化,“式”的具体形式包括“问题Problem”、“功能Functiom”和“状态Status”等。
对“模”而言,“式”就是结构方法(得到结构的方法)和结构维持(结构维持的方法),而对“式”来说,“模”给出了“式”的作用范围。
所以,模式化是解决具体问题的原型法方案,也就是说,Pattern“模式”是解决方案Scheme 原型的基本方法,它为各种不同原型级别的方案提供了基础,这些方案按照对实际应用系统的抽象程度从高到低排列下来分别是: Stylization“程式化->通过制订法规”、Configuration“组态化->通过确定配置”、Information“信息化”-> 基于静态特征(概念性/功能性)的分体Branch、Case情景化”-> 基于动态特征(事物间的相互转换/相互连接等)的变体Variant、和Coding。
应用系统的叶子级原型方案是“分体”和“变体”, 它们分别是应用程序中Element和ModelElement的结构原型--以它为顶点的层次结构。Element和ModelElement表示了任何Object(事物,也是编程中的对象)所具有的静态性/动态性这两种特性。
对一般的应用系统(或者叫“信息系统”,区别于通用信息系统原型)编程来说,面向对象的编程方法(OOP)就是将上面所说的,从程式化直到Coding的一个混搭,而面向切面的编程方法(AOP)则还额外混搭了认知范围以内的不同侧面上的切点模式方案。
这里“OOP”中的对象,指的是组件对象模型(Component Object Model, COM)对象(为示区别,后面称为“COM对象”),而更广义的对象Object,实际上是描述COM对象的特征和目标的对象,也就是前面所说的“模”的具体化形式-“型”。
对于一个通用信息系统来说,有三种“型”:键值型(KV)、关系型(Renatinal)和COM型。应用系统就是一组COM对象集,设计中使用PCOM( 可移植公共对象Portable Common Object Model) 作为COM对象的原型,即:设计中的最高级别的“型Model”是PCOM。
可移植公共对象Portable Common Object
COM对象是具有封装性、多态性和继承性三大特性的任何COM对象的“型”。这三种特性,分别用Box、Preserver和Lineage表示它们的基类,并需要提供基本的实现。
上一篇日志“信息系统应用现场的维持问题”谈到的,就是COM对象的“多态性”在应用现场的具体问题。 设计方案中,需要基于以上的模式化的结构体系来构建一个通用方案。
(未完)