面向功能设计和面向对象设计的区别

面向功能设计和面向对象设计的区别

1. 面向功能的设计:

面向功能的设计是关注程序功能的结果。这是基于逐步细化的。逐步细化基于迭代程序分解。逐步细化是一种自上而下的策略,其中程序被细化为增加细节级别的层次结构。

我们从程序功能的高级描述开始。然后,在每一步中,我们提取高级描述的一部分并对其进行改进。细化其实是一个精雕细琢的过程。该过程应该从高度概念化的模型进行到较低级别的细节。每个模块的细化完成,直到我们达到我们的编程语言的语句级别。

2. 面向对象设计:

面向对象的设计不是将注意力集中在程序执行的功能上,而是将注意力集中在程序要操作的数据上。因此,它与面向功能的设计正交。面向对象的设计始于对现实世界“事物”的检查。这些东西在属性和行为方面都是单独的特征。

对象是可以很容易更改的独立实体,因为所有状态和表示信息都保存在对象本身内。对象可以是分布式的,可以按顺序或并行执行。面向对象技术包含以下三个关键词——

对象—

软件包的设计和开发与真实世界的实体相对应,这些实体包含所有数据和服务,以充当其关联实体消息。

通信-

建立通信机制,提供对象协同工作的方法。

方法-

方法是对象为满足问题域的功能要求而执行的服务。对象通过消息请求其他对象的服务。

面向功能设计和面向对象设计的区别:

比较因素 面向功能的设计 面向对象的设计
抽象 提供给用户的基本抽象是现实世界的功能。 基本抽象不是现实世界的功能,而是代表现实世界实体的数据抽象。
功能 功能被组合在一起,从而获得更高级别的功能。 由于类与它们的方法相关联,因此函数根据它们操作的数据组合在一起。
使用 结构化分析和结构化设计(即数据流程图) 执行使用 UML 执行
状态信息 在这种方法中,状态信息通常在集中式共享内存中表示。 在这种方法中,不表示状态信息,不在集中式存储器中表示,而是在系统的对象之间实现或分布。
方法 这是一种自上而下的方法。 这是一种自下而上的方法。
开始基础 首先考虑用例图和场景。 从识别对象和类开始。
分解 在面向功能的设计中,在功能/过程级别进行分解。 在班级层面进行分解。
使用 这种方法主要用于计算敏感的应用程序。 这种方法主要用于模拟业务或业务案例的演进系统。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程