- 核心思想:我们的知识必然是与外部世界相关,其是我们与外部世界互动的结果,其是我们与外部世界互动的方法。
- 核心方法:面向对象式分类
问题方案 | 方案 | Solution | Problem
定义:其内容描述某个问题以及针对该问题的解决方案(最终产物)。
结构:通过`期望`、`问题`、`分析`、`方案`部分,来描述问题和解决问题。
最终的“方案”,其是我创造的过程,其是我们要赋予其他事物的功能。
功能接口 | 接口 | Function | Interface
- 定义:描述某种能力或功能,即“具有某种能力(CAN-DO)”;并未定义实现方法;
- 性质:事物提供地能够解决某类问题的功能(通过该功能,能够解决具体问题)。
- 应用:归档、压缩、容器编排、代码仓库、搜索引擎、数据库、消息队列、缓存数据、配置中心、服务发现、输入法、……
应用:
- 笔记本电脑
- 鞋子、雨鞋、长筒靴、牛津鞋、笔记本、数据库、…… 该类全部为 Interface 类别,原因在于该词语描述了应该具有某类功能的事物。
抽象概念 | 抽象 | Abstract
定义:
- 描述某种类别或特质,即“属于某种类别(IS-A)”关系;其包含组成事物的基本框架;
性质:
- 修饰事物,表示该事物是抽象类,不能实例化;
应用:
- ThinkPad 笔记本电脑
- Kubernetes、MySQL、Java、Python、RabbitMQ、…… 该类事物具有不同的版本,其不同版本具有共性且共性非常多,遂归于此。
- 再如,针对 ThinkPad Laptop 介绍,则归属于 Abstract 类别,该类事物具有共性,但是又无法实例化。
补充,如果涉及事物的组成部分,则将其归类到抽象中。
具体实现 | 具体 | Concrete
定义:
- 极其具体;极其固定;能够实例化;针对某个产品,具体到特定产品型号;
性质:
- 其用于声明一个新的事物,该类事物能够进行构建,构建之后即为实例(Instance)。该类事物能够在具体的场景中进行使用。
应用:
- 市面上的 ThinkPad P15v Gen 1 笔记本。
- Nacos 2.4.0 Kubernetes 1.30.8 XXL-JOB 2.4.0 …… ⇒ 具体到特定的型号或版本。
- 匡威 Converse x Noritake Chuck 70 男女运动休闲板鞋,其为具体产品,归属于 Concrete 类别,原因在于其能够实例化。
- 我们购买一台笔记本电脑,我们需要研究该型号笔记本电脑方方面面的功能,则我们选择 Concrete 类别。例如,ThinPad P15v 是具体的笔记本型号,相关的笔记也归属于 Concrete 类别。
- 例如,Redis 7.0.15,其属于该类别,原因在于其组成及性质是固定的、无变化的、……
现实实例 | 实例 | Instance
定义:
- 其存在于现实中的唯一事物;带有客制化的参数、插件、组件;能够唯一确定的;
性质:
- 其我们所拥有的事物,必须是现实中存在的具体的事物。
应用:
- 我们所拥有的 ThinkPad P15v Gen 1 笔记本。
- 在实际应用中,我们很少会见到该类型的笔记,或者说几乎不会见到该类型的笔记。原因在于,该类笔记描述的事物是绝无仅有。
- 仓库中的某双匡威 Converse x Noritake Chuck 70 男女运动休闲板鞋(或被我们持有),其为具体事物,存在于现实中,归属于 Instance 类别。
构造方法
实际上,并无所谓的“构造方法”,原因在于该类“构造方法”是为了获得该对象的实例,而构造的过程实际上是某个特定对象表现出来的性质,该性质其能够返回该对象。
thisObject = thatObject.createThisObject()
应用案例
实际上,并无所谓的“应用案例”,所谓应用案例是某个系统表现出来的功能,所以“应用案例”是我们所构建系统的性质的原理。