OOAD 1 介绍

本文探讨了面向对象设计(OOD)的核心要素,如对象职责分配、分析与设计的区别,以及如何通过用例和领域模型展示。重点介绍了交互图(如顺序图和通信图)在描述对象协作中的作用,设计类图的静态视图,并强调软件与现实世界的映射。
摘要由CSDN通过智能技术生成

OOAD 1 介绍

OOD的原则和模式:为软件对象分配职责

  • 分析(analysis) 强调的是对问题和需求的调查研究,而不是解决方案。

    • an investigation of the problem rather than how a solution is defined
  • 设计(design) 强调的是满足需求的概念上的解决方案(在软件和硬件方面),而不是其实现。

    • a logical solution, how the system fulfills the requirements

OOA

  1. 面向对象分析(OOA)强调的是在问题领域内发现和描述对象(或概念)。

  2. 面向对象分析关注从对象的角度创建领域描述。面向对象分析需要鉴别重要的概念、属性和关联
    OOA identifies
    Concepts in the problem domain
    Relationships among those concepts
    Attributes(属性) of those concept

OOD

面向对象设计的过程中,强调的是定义软件对象以及他们如何协作以实现需求。

示例(use case)

  1. 需求分析可能包括人们如何使用应用的情节或场景,这些情节或场景可以被编写用例(use case)

  2. 面向对象分析的结果可以表示为领域模型(domain model),在领域模型中展示重要的领域概念或对象。领域模型并不是对软件对象的描述,他是真实世界领域中的概念和对象的可视化,因此也被称为概念对象模型 (conceptual object model)

  3. 定义交互图(interaction diagram)
    通信图(communication diagram) 说明了对象可能如何在它们之间传递消息
    顺序图(sequence diagram,UML的一种交互图) 是描述协作的常见表示法,它展示出软件对象之间的消息流,和由消息引起的方法调用。

  4. 定义设计类图(design class diagram)
    1.除了在交互图中显示对象协作的动态视图外,还可。以用设计类图来有效表示类定义的静态视图。这样可以描述类的属性和方法。
    2.领域模型表示的是真实世界的类,设计类图表示的是软件类
    3.要注意的是,尽管设计类图不同于领域模型,但是其中的某些类名和内容还是相似的。从这一方面讲,OO设计和语言能够缩小软件构建和我们所设想的领域模型之间的差距,即实现低表示差距(lower representational gap)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值