软件架构中的“对象”可以从不同的角度进行划分,主要包含以下核心概念:
一、面向对象视角的核心对象
类(Class) 类是定义对象结构的模板,包含属性(变量)和行为(方法)。通过类,可以创建多个相似的对象,实现代码复用。
对象(Object)
对象是类的实例,具有独立的状态和行为。每个对象可以有不同的属性值,但共享相同的类结构。
接口(Interface)
接口定义了对象的行为规范,用于实现多态和组件间的解耦。类通过实现接口来承诺提供特定功能。
二、软件架构中的其他相关对象
抽象类(Abstract Class)
抽象类是不能直接实例化的类,通常包含抽象方法,用于定义子类必须实现的方法。
组合(Composition)与聚合(Aggregation)
- 组合: 表示“整体-部分”关系,部分可以独立存在(如类A包含类B)。 - 聚合
设计模式中的对象 - MVC(Model-View-Controller):
Model(模型)负责数据,View(视图)负责显示,Controller(控制器)负责交互。
- MVP(Model-View-Presenter):与MVC类似,但将Controller职责转移给Presenter。
- MVVM(Model-View-ViewModel):强调双向数据绑定,ViewModel作为数据传输对象。
三、补充说明
物理架构中的对象:在分布式系统或微服务架构中,对象可能对应具体的服务实例(如Web服务器、数据库实例)。
框架中的对象:如Spring框架中的Bean,是依赖注入的载体。
通过以上分类,可以更全面地理解软件架构中“对象”的概念及其作用。面向对象设计通过类、对象和接口的协同,为软件架构提供了基础支撑。