首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第157章 理论模型到对象模型

第157章 理论模型到对象模型

157.1 提出背景

第156章建立了ICAI领域对象模型:

DomainObject=IndividualObject+CognitiveObject+BehaviorObject+MemoryObject+MaintenanceObjectDomainObject= IndividualObject+ CognitiveObject+ BehaviorObject+ MemoryObject+ MaintenanceObject

但是,领域对象并不是凭空产生的。

例如,理论中定义“状态”:

StateState

工程中却需要最终得到:

class CognitiveState
{
    protected $id;
    protected $objectId;
    protected $stateType;
    protected $value;
    protected $condition;
    protected $time;
}

从:

StateState

到:

CognitiveStateCognitiveState

中间必须存在一个严格的转换过程。

因此,ICAI需要建立:

理论概念→数学模型→逻辑模型→数据对象→Domain Object→对象关系\boxed{ 理论概念 \rightarrow 数学模型 \rightarrow 逻辑模型 \rightarrow 数据对象 \rightarrow Domain\ Object \rightarrow 对象关系 }

这条路径解决的是:

ICAI理论如何不失真的进入软件工程。


157.2 理论模型到对象模型的定义

**理论模型到对象模型(Theory Model to Object Model)**是指将ICAI理论中的概念经过形式化定义、数学表达、逻辑结构和数据结构转换,最终形成具有明确身份、属性、状态、关系和职责的领域对象的工程过程。

形式化表示:

Concept→MathematicalModel→LogicalModel→DataObject→DomainObject→ObjectRelation\boxed{ Concept \rightarrow MathematicalModel \rightarrow LogicalModel \rightarrow DataObject \rightarrow DomainObject \rightarrow ObjectRelation }

其中:

  • ConceptConcept:理论概念;
  • MathematicalModelMathematicalModel:数学模型;
  • LogicalModelLogicalModel:逻辑模型;
  • DataObjectDataObject:数据对象;
  • DomainObjectDomainObject:领域对象;
  • ObjectRelationObjectRelation:对象关系。

157.3 为什么不能直接从理论到代码

如果直接:

Theory→PHPClassTheory \rightarrow PHPClass

容易出现两个问题。

第一,理论结构可能没有被完整表达。

第二,程序Class可能按照程序员习惯建立,而不是按照理论职责建立。

因此:

Theory≠PHPClassTheory\neq PHPClass

正确路径必须是:

Theory→Model→Object→ClassTheory \rightarrow Model \rightarrow Object \rightarrow Class

即:

理论先形式化→模型再对象化→对象再程序化\boxed{ 理论先形式化 \rightarrow 模型再对象化 \rightarrow 对象再程序化 }


157.4 第一层:理论概念

157.4.1 理论概念定义

**理论概念(Theoretical Concept)**是ICAI理论中用于描述某种稳定实体、属性、状态、关系、过程或机制的基本概念。

例如:

ObjectObject AttributeAttribute StateState RelationRelation KnowledgeKnowledge GoalGoal CapabilityCapability MethodMethod DecisionDecision BehaviorBehavior MemoryMemory RiskRisk

这些概念构成ICAI理论的基本元素。


157.5 理论概念的作用

理论概念首先回答:

系统需要认识和处理什么?

例如:

ObjectObject

回答:

什么是对象?

StateState

回答:

对象现在是什么状态?

RelationRelation

回答:

对象与其他对象是什么关系?

GoalGoal

回答:

个体希望达到什么状态?

CapabilityCapability

回答:

个体能够做什么?

因此:

Concept→Meaning→RoleConcept \rightarrow Meaning \rightarrow Role

理论概念必须先明确含义,才能进入工程。


157.6 理论概念不能直接作为数据字段

例如理论中:

CapabilityCapability

不是简单:

capability = 1

能力至少需要表达:

Capability={Ability,Object,Condition,State,Range,Resource,Method,Result}Capability= \{ Ability, Object, Condition, State, Range, Resource, Method, Result \}

因此:

Concept→StructureConcept \rightarrow Structure

理论概念首先必须被结构化。


157.7 第二层:数学模型

157.7.1 数学模型定义

**数学模型(Mathematical Model)**是使用集合、函数、关系、状态、条件、公式等形式表达理论概念结构和变化规律的模型。

例如对象:

O={ID,Type,Attribute,State,Relation,History}O= \{ ID, Type, Attribute, State, Relation, History \}

状态:

S={ObjectID,StateType,Value,Condition,Time}S= \{ ObjectID, StateType, Value, Condition, Time \}

关系:

R={Subject,Type,Object,Direction,Condition,State}R= \{ Subject, Type, Object, Direction, Condition, State \}


157.8 数学模型的作用

数学模型解决:

理论概念内部究竟由什么构成?

例如:

State=f(Attribute,Condition,Rule)State=f(Attribute,Condition,Rule)

说明状态不是孤立数据,而是由属性、条件和规则共同决定。

又如:

Goal=CurrentState→TargetStateGoal= CurrentState \rightarrow TargetState

说明目标具有状态转换结构。

再如:

RiskScore=P×IRiskScore=P\times I

其中:

  • PP:风险发生概率;
  • II:风险影响;
  • RiskScoreRiskScore:风险得分。

因此:

Concept→MathematicalStructureConcept \rightarrow MathematicalStructure


157.9 数学模型与工程结构

数学模型不能直接运行。

例如:

O={ID,Type,Attribute,State,Relation}O= \{ ID,Type,Attribute,State,Relation \}

这是数学结构,不是PHP对象。

因此还必须经过:

MathematicalModel→LogicalModelMathematicalModel \rightarrow LogicalModel


157.10 第三层:逻辑模型

157.10.1 逻辑模型定义

**逻辑模型(Logical Model)**是将数学模型转换为程序可以执行的条件、规则、判断、关系和流程结构。

例如:

Object→StateObject \rightarrow State

可以转换为:

读取对象
↓
读取属性
↓
读取当前状态
↓
检查条件
↓
应用规则
↓
计算新状态

数学:

S=f(A,C,R)S=f(A,C,R)

逻辑:

Attribute+Condition+Rule→StateAttribute + Condition + Rule \rightarrow State


157.11 逻辑模型的基本形式

ICAI逻辑模型主要包括:

Logic={Condition,Rule,Relation,Transition,Calculation,Validation}Logic= \{ Condition, Rule, Relation, Transition, Calculation, Validation \}

例如条件:

Condition=TrueCondition=True

规则:

Condition→ActionCondition \rightarrow Action

状态转换:

S1→EventS2S_1\xrightarrow{Event}S_2

验证:

Valid=Condition∧Rule∧ConstraintValid= Condition \land Rule \land Constraint


157.12 数学模型与逻辑模型的区别

二者不能混淆:

MathematicalModel≠LogicalModelMathematicalModel\neq LogicalModel

数学模型强调:

StructureStructure

逻辑模型强调:

OperationOperation

例如:

Goal=CurrentState→TargetStateGoal= CurrentState \rightarrow TargetState

属于结构表达。

而:

如果 CurrentState != TargetState
↓
目标未完成
↓
继续执行

属于逻辑表达。

因此:

数学模型描述结构\boxed{ 数学模型描述结构 } 逻辑模型描述如何计算和判断\boxed{ 逻辑模型描述如何计算和判断 }


157.13 第四层:数据对象

157.13.1 数据对象定义

**数据对象(Data Object)**是将逻辑模型转换为程序能够保存、读取、传递和更新的数据结构。

例如理论:

StateState

数学:

S={ObjectID,StateType,Value,Condition,Time}S= \{ ObjectID, StateType, Value, Condition, Time \}

逻辑:

Object→StateObject \rightarrow State

数据对象:

$state = array(
    'object_id'   => 1001,
    'state_type'  => 'running',
    'value'       => 1,
    'condition'   => 'normal',
    'time'        => time()
);

此时已经从理论结构进入程序数据结构。


157.14 数据对象的作用

数据对象主要解决:

数据如何被程序保存和传递?

因此:

LogicalModel→DataStructureLogicalModel \rightarrow DataStructure

数据对象可以采用:

  • 数组;
  • 标量;
  • JSON结构;
  • DTO;
  • 数据传输对象;
  • 数据库映射结构。

但是:

DataObject≠DomainObjectDataObject\neq DomainObject

这是ICAI工程必须严格保持的区别。


157.15 数据对象与Domain Object的区别

数据对象主要负责:

DataData

领域对象负责:

DomainMeaning+Structure+State+ResponsibilityDomainMeaning+ Structure+ State+ Responsibility

因此:

DataObject=数据表达\boxed{ DataObject=数据表达 } DomainObject=领域表达\boxed{ DomainObject=领域表达 }

例如:

$state = array(
    'object_id' => 1001,
    'state_type' => 'running'
);

只是数据结构。

而:

class CognitiveState
{
    protected $id;
    protected $objectId;
    protected $stateType;
    protected $value;
    protected $condition;
    protected $time;
}

则是领域对象。


157.16 第五层:Domain Object

157.16.1 Domain Object形成

当数据结构已经明确其理论含义、生命周期和领域职责以后,可以建立Domain Object。

转换:

DataObject→DomainObjectDataObject \rightarrow DomainObject

例如:

State→CognitiveStateState \rightarrow CognitiveState

最终:

class CognitiveState
{
    protected $id;
    protected $objectId;
    protected $stateType;
    protected $value;
    protected $condition;
    protected $time;

    public function getObjectId()
    {
        return $this->objectId;
    }

    public function getStateType()
    {
        return $this->stateType;
    }

    public function getValue()
    {
        return $this->value;
    }
}

157.17 Domain Object必须具有领域意义

一个Class并不自动成为Domain Object。

例如:

class DataHelper
{
}

这不是ICAI领域对象。

而:

class CognitiveState
{
}

因为它对应:

StateState

并且具有明确的领域职责,所以属于Domain Object。

因此:

DomainObject=TheoryMeaning+ObjectStructure+DomainResponsibility\boxed{ DomainObject = TheoryMeaning + ObjectStructure + DomainResponsibility }


157.18 理论概念到Domain Object的完整转换

建立:

Concept→MathematicalModel→LogicalModel→DataObject→DomainObject\boxed{ Concept \rightarrow MathematicalModel \rightarrow LogicalModel \rightarrow DataObject \rightarrow DomainObject }

例如“状态”:

StateState

S={ObjectID,Type,Value,Condition,Time}S= \{ ObjectID, Type, Value, Condition, Time \}

Object→StateObject \rightarrow State

$state = array(...);

class CognitiveState
{
}

这才完成一次完整的理论对象化。


157.19 对象关系

157.19.1 对象关系定义

**对象关系(Object Relation)**是指两个或者多个Domain Object之间按照ICAI理论建立的具有明确语义的关联结构。

形式:

ObjectA→Relation→ObjectB\boxed{ Object_A \rightarrow Relation \rightarrow Object_B }

对象关系不是程序中的简单引用,而是具有理论语义的关系。


157.20 对象关系的基本结构

R={Subject,Type,Object,Direction,Condition,State,Time}R= \{ Subject, Type, Object, Direction, Condition, State, Time \}

例如:

Customer→PlacesOrder→OrderCustomer \rightarrow PlacesOrder \rightarrow Order

程序对象:

CustomerObject
        ↓
CognitiveRelation
        ↓
OrderObject

157.21 对象关系不是对象属性

必须区分:

Attribute≠RelationAttribute\neq Relation

例如:

Product.price = 100

属于属性。

而:

Customer → Purchases → Product

属于关系。

因此:

Attribute→描述对象自身Attribute \rightarrow 描述对象自身 Relation→连接不同对象Relation \rightarrow 连接不同对象


157.22 对象关系不是程序引用

例如:

$order->customer = $customer;

只是程序对象之间的引用。

而:

Customer→PlacesOrder→OrderCustomer \rightarrow PlacesOrder \rightarrow Order

是ICAI认知关系。

因此:

ProgramReference≠CognitiveRelationProgramReference\neq CognitiveRelation

但是可以建立:

CognitiveRelation→ProgramRelationCognitiveRelation \rightarrow ProgramRelation


157.23 对象关系的方向

关系具有方向:

A→BA\rightarrow B

通常不等于:

B→AB\rightarrow A

例如:

Customer→PlacesOrder→OrderCustomer \rightarrow PlacesOrder \rightarrow Order

不能直接认为:

Order→PlacesOrder→CustomerOrder \rightarrow PlacesOrder \rightarrow Customer

如果需要反向关系,应明确建立:

Order→BelongsTo→CustomerOrder \rightarrow BelongsTo \rightarrow Customer

因此:

Direction(R)Direction(R)

属于对象关系的重要结构。


157.24 对象关系形成

领域对象之间通过关系形成更大的领域模型:

DomainObject1+Relation+DomainObject2DomainObject_1 + Relation + DomainObject_2

形成:

DomainStructureDomainStructure

进一步:

DomainObject→Relation→DomainObjectDomainObject \rightarrow Relation \rightarrow DomainObject

最终:

DomainGraph=(V,E)\boxed{ DomainGraph=(V,E) }

其中:

  • VV:领域对象集合;
  • EE:对象关系集合。

157.25 个体对象模型

以机器个体为例:

IndividualObjectIndividualObject

内部包含:

CognitiveObjectCognitiveObject BehaviorObjectBehaviorObject MemoryObjectMemoryObject MaintenanceObjectMaintenanceObject

形成:

IndividualObject
│
├── CognitiveObject
│
├── BehaviorObject
│
├── MemoryObject
│
└── MaintenanceObject

关系:

Individual→hasCognition→CognitionIndividual \rightarrow hasCognition \rightarrow Cognition Individual→hasBehavior→BehaviorIndividual \rightarrow hasBehavior \rightarrow Behavior Individual→hasMemory→MemoryIndividual \rightarrow hasMemory \rightarrow Memory Individual→hasMaintenance→MaintenanceIndividual \rightarrow hasMaintenance \rightarrow Maintenance


157.26 认知对象模型

认知领域:

CognitiveObjectCognitiveObject

内部形成:

CognitiveObject
│
├── Attribute
├── State
├── Relation
├── Scene
├── Knowledge
├── Need
├── Goal
└── Capability

核心关系:

Object→AttributeObject \rightarrow Attribute Object→StateObject \rightarrow State Object→RelationObject \rightarrow Relation Scene→KnowledgeScene \rightarrow Knowledge StateDifference→NeedStateDifference \rightarrow Need Need→GoalNeed \rightarrow Goal Goal→CapabilityGoal \rightarrow Capability


157.27 行为对象模型

行为领域:

BehaviorObjectBehaviorObject

内部:

BehaviorObject
│
├── Method
├── Decision
├── Behavior
├── Action
├── Result
└── Feedback

形成:

Method→Decision→Behavior→Action→Result→FeedbackMethod \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Result \rightarrow Feedback

这不是简单的Class继承,而是领域对象之间的运行关系。


157.28 记忆对象模型

记忆领域:

MemoryObject
│
├── Memory
├── Experience
├── History
├── InitialMemory
└── HistoricalData

核心:

Result→Feedback→MemoryResult \rightarrow Feedback \rightarrow Memory Memory→ExperienceMemory \rightarrow Experience Event→HistoryEvent \rightarrow History

因此:

MemoryObject=Memory+Experience+HistoryMemoryObject = Memory+ Experience+ History


157.29 维护对象模型

维护领域:

MaintenanceObject
│
├── Risk
├── Protection
├── Conflict
├── Diagnosis
├── Repair
└── Verification

形成:

Risk→ProtectionRisk \rightarrow Protection Conflict→ResolutionConflict \rightarrow Resolution Anomaly→Diagnosis→Repair→VerificationAnomaly \rightarrow Diagnosis \rightarrow Repair \rightarrow Verification

因此:

MaintenanceObject=Risk+Protection+Conflict+Diagnosis+Repair+VerificationMaintenanceObject = Risk+ Protection+ Conflict+ Diagnosis+ Repair+ Verification


157.30 从单个概念到完整对象体系

以“目标”为例:

第一步:理论概念

GoalGoal

第二步:数学模型

Goal=CurrentState→TargetStateGoal= CurrentState \rightarrow TargetState

第三步:逻辑模型

读取当前状态
↓
读取目标状态
↓
比较状态
↓
判断目标是否完成

第四步:数据对象

$goal = array(
    'current_state' => $currentState,
    'target_state'  => $targetState
);

第五步:Domain Object

class CognitiveGoal
{
    protected $id;
    protected $objectId;
    protected $currentState;
    protected $targetState;
    protected $condition;
    protected $priority;
    protected $status;
}

第六步:对象关系

Need→GoalNeed \rightarrow Goal Goal→CapabilityGoal \rightarrow Capability Goal→MethodGoal \rightarrow Method

至此,“目标”才真正进入ICAI工程对象体系。


157.31 理论到对象的统一转换规则

可以建立统一规则:

Concept→Definition→Formula→Logic→Data→DomainObject→Relation\boxed{ Concept \rightarrow Definition \rightarrow Formula \rightarrow Logic \rightarrow Data \rightarrow DomainObject \rightarrow Relation }

其中:

Definition定义概念含义。

Formula描述结构和计算。

Logic描述判断和过程。

Data定义程序数据结构。

DomainObject定义领域对象。

Relation定义对象之间的领域关系。


157.32 一个理论概念不一定只对应一个对象

理论概念复杂时,可以形成多个领域对象。

例如:

CapabilityCapability

可以拆分:

Capability
├── Capability
├── CapabilityRequirement
├── CapabilityState
├── CapabilityRange
└── CapabilityEvaluation

原因是:

Concept→SubStructure→DomainObjectsConcept \rightarrow SubStructure \rightarrow DomainObjects

因此:

OneConcept→MultipleDomainObjectsOneConcept\rightarrow MultipleDomainObjects

是允许的。


157.33 多个理论概念也可以形成一个组合对象

例如机器个体:

MachineIndividualMachineIndividual

本身就是:

Identity+Type+Structure+Cognition+Behavior+Memory+MaintenanceIdentity+ Type+ Structure+ Cognition+ Behavior+ Memory+ Maintenance

因此:

MultipleConcepts→AggregateDomainObjectMultipleConcepts \rightarrow AggregateDomainObject

形成:

MachineIndividualMachineIndividual

这就是领域对象组合。


157.34 聚合对象

**聚合对象(Aggregate Object)**是由多个具有明确领域职责的Domain Object组成,并由一个根对象维护整体边界的对象结构。

机器个体可以作为根:

MachineIndividualMachineIndividual

其内部聚合:

CognitiveObjectCognitiveObject BehaviorObjectBehaviorObject MemoryObjectMemoryObject MaintenanceObjectMaintenanceObject

因此:

MachineIndividual=Aggregate(Cognition,Behavior,Memory,Maintenance)\boxed{ MachineIndividual = Aggregate( Cognition, Behavior, Memory, Maintenance ) }


157.35 对象关系的三层结构

ICAI对象关系可以分为三层。

第一层:结构关系

表示对象属于什么结构:

Individual→CognitionIndividual \rightarrow Cognition

第二层:认知关系

表示对象之间认知上的关系:

ObjectA→Relation→ObjectBObject_A \rightarrow Relation \rightarrow Object_B

第三层:运行关系

表示对象在运行过程中的关系:

Decision→Behavior→ActionDecision \rightarrow Behavior \rightarrow Action

因此:

ObjectRelation=StructuralRelation+CognitiveRelation+RuntimeRelationObjectRelation= StructuralRelation+ CognitiveRelation+ RuntimeRelation


157.36 对象模型与Runtime

领域对象进入运行环境后:

DomainObject→RuntimeObjectDomainObject \rightarrow RuntimeObject

Runtime对象保存当前运行状态:

RuntimeObject=DomainObject+CurrentContext+CurrentStateRuntimeObject= DomainObject+ CurrentContext+ CurrentState

因此:

DomainObjectt→RuntimeObjecttDomainObject_t \rightarrow RuntimeObject_t

当发生事件:

Event→StateChangeEvent \rightarrow StateChange

形成:

RuntimeObjectt→RuntimeObjectt+1RuntimeObject_t \rightarrow RuntimeObject_{t+1}


157.37 理论模型到Runtime的完整链

最终建立:

TheoryConcept→MathematicalModel→LogicalModel→DataObject→DomainObject→ObjectRelation→RuntimeObject\boxed{ TheoryConcept \rightarrow MathematicalModel \rightarrow LogicalModel \rightarrow DataObject \rightarrow DomainObject \rightarrow ObjectRelation \rightarrow RuntimeObject }

这条链完成了从理论到程序运行的完整转换。


157.38 PHP工程映射

完整工程结构:

theory/
↓
model/
↓
domain/
│
├── individual/
├── cognitive/
├── behavior/
├── memory/
└── maintenance/
↓
service/
↓
engine/
↓
repository/
↓
runtime/

其中:

theory→modeltheory \rightarrow model

完成理论定义。

model→domainmodel \rightarrow domain

完成对象化。

domain→service/enginedomain \rightarrow service/engine

完成业务和计算。

domain→repositorydomain \rightarrow repository

完成持久化。

domain+engine→runtimedomain+engine \rightarrow runtime

完成运行。


157.39 完整工程链

ICAI最终形成:

Theory→Formalization→MathematicalModel→LogicalModel→DataObject→DomainObject→ObjectRelation→Service→Engine→Repository→MySQL→Runtime\boxed{ Theory \rightarrow Formalization \rightarrow MathematicalModel \rightarrow LogicalModel \rightarrow DataObject \rightarrow DomainObject \rightarrow ObjectRelation \rightarrow Service \rightarrow Engine \rightarrow Repository \rightarrow MySQL \rightarrow Runtime }

这是一条完整的理论工程化路径。


157.40 理论模型转换的验证

理论进入工程以后还必须验证:

Theory↔DomainObjectTheory \leftrightarrow DomainObject

建立:

ModelMappingValid=Concept∧Structure∧Logic∧Data∧Object∧RelationModelMappingValid = Concept \land Structure \land Logic \land Data \land Object \land Relation

如果理论中存在:

ConceptAConcept_A

但工程中完全没有对应结构:

Mapping(ConceptA)=∅Mapping(Concept_A)=\varnothing

则说明理论尚未完成工程映射。

反过来,如果程序中存在大量没有理论来源的核心对象:

ProgramObject↚TheoryProgramObject\not\leftarrow Theory

也需要检查其必要性和领域职责。


157.41 理论与工程的一致性

建立核心原则:

TheoryStructure↔DomainStructure\boxed{ TheoryStructure \leftrightarrow DomainStructure }

进一步:

TheoryRelation↔ObjectRelation\boxed{ TheoryRelation \leftrightarrow ObjectRelation }

再进一步:

TheoryProcess↔RuntimeProcess\boxed{ TheoryProcess \leftrightarrow RuntimeProcess }

例如理论:

Goal→Capability→Method→Decision→BehaviorGoal \rightarrow Capability \rightarrow Method \rightarrow Decision \rightarrow Behavior

工程也必须能够表达:

CognitiveGoal
↓
CognitiveCapability
↓
CognitiveMethod
↓
CognitiveDecision
↓
CognitiveBehavior

否则理论和工程之间就产生结构断裂。


157.42 ICAI对象模型的最终结构

最终:

ICAI Theory
│
├── Theory Concepts
│
├── Mathematical Models
│
├── Logical Models
│
├── Data Objects
│
├── Domain Objects
│   │
│   ├── Individual Object
│   ├── Cognitive Object
│   ├── Behavior Object
│   ├── Memory Object
│   └── Maintenance Object
│
├── Object Relations
│
└── Runtime Objects

统一:

Theory→Model→Object→Relation→Runtime\boxed{ Theory \rightarrow Model \rightarrow Object \rightarrow Relation \rightarrow Runtime }


157.43 本章总结

第157章建立了ICAI从理论模型进入对象模型的完整工程转换机制。

第一层是:

理论概念\boxed{理论概念}

回答:

系统需要描述什么?

第二层是:

数学模型\boxed{数学模型}

回答:

这个概念由什么结构组成?

第三层是:

逻辑模型\boxed{逻辑模型}

回答:

系统如何判断、计算和变化?

第四层是:

数据对象\boxed{数据对象}

回答:

程序如何保存和传递这些数据?

第五层是:

Domain Object\boxed{Domain\ Object}

回答:

这个概念在软件领域中由什么对象承担?

第六层是:

对象关系\boxed{对象关系}

回答:

不同领域对象如何按照ICAI理论建立关系?

最终进入:

RuntimeObject\boxed{RuntimeObject}

回答:

这些对象如何在实际程序运行中协同工作?

因此形成完整转换链:

理论概念→数学模型→逻辑模型→数据对象→DomainObject→对象关系→RuntimeObject\boxed{ 理论概念 \rightarrow 数学模型 \rightarrow 逻辑模型 \rightarrow 数据对象 \rightarrow DomainObject \rightarrow 对象关系 \rightarrow RuntimeObject }

进一步进入完整软件工程:

ICAI理论→形式化→数学模型→逻辑模型→数据结构→领域对象→对象关系→Service→Engine→Repository→MySQL→Runtime\boxed{ ICAI理论 \rightarrow 形式化 \rightarrow 数学模型 \rightarrow 逻辑模型 \rightarrow 数据结构 \rightarrow 领域对象 \rightarrow 对象关系 \rightarrow Service \rightarrow Engine \rightarrow Repository \rightarrow MySQL \rightarrow Runtime }

本章最重要的工程原则是:

理论不能直接跳到代码\boxed{ 理论不能直接跳到代码 }

而必须经过:

概念→模型→逻辑→数据→对象→关系→运行\boxed{ 概念 \rightarrow 模型 \rightarrow 逻辑 \rightarrow 数据 \rightarrow 对象 \rightarrow 关系 \rightarrow 运行 }

由此,ICAI理论中的对象、认知、行为、记忆和维护结构才能真正进入程序系统,并最终形成一个具有内部对象体系和对象关系的机器个体Runtime。

因此,理论模型到对象模型实际上建立了ICAI理论与软件工程之间最重要的一座桥梁:

Theory↔DomainObject↔Runtime\boxed{ Theory \leftrightarrow DomainObject \leftrightarrow Runtime }

它使ICAI不再只是理论上的概念集合,而成为能够按照统一模型逐步实现为程序对象、对象关系和机器个体Runtime的完整工程体系。

Leave a Reply

Your email address will not be published. Required fields are marked *