Logo

郎哥编程

面向对象设计和编程

2019-12-18 38

分析阶段完成后,就可以进入面向对象的设计阶段了。面向对象分析主要关心系统的功能和业务,无需关心与计算机实现相关的内容。到了面向对象设计阶段,就要充分考虑系统体系结构、运行环境、编程语言等与计算机实现相关的内容。例如BS架构或CS架构的设计思路和方案就完全不同,在BS架构中,不同的设计框架其设计方案也不完全相同。

在BS架构中,比较流行的设计框架是MVC框架,它将业务逻辑、数据、界面显示分离的方法来组织程序,业务逻辑放到一个部件或模块中。这样做的好处是,当修改用户界面时,不需要重新编写业务逻辑。MVC框架是模型(Model)、视图(View)、控制器(Controller)的缩写,Model可以理解为实体对象,只有属性没有行为,实体对象的所有行为都放置在控制器中;View可以理解为用户界面,如JSP、aspx页面等;Controller是控制器,负责处理与实体对象相关的业务逻辑,并从视图接收和回传数据到视图。

在UML建模语言中,也提供了一种划分类的方式,分为边界类、实体类和控制类。边界类主要用于描述用户与系统之间的交互对象,例如JSP、aspx页面等,边界类与MVC中的视图对应;实体类主要用于描述具体的实体对象,通常映射到数据库表或文件中,实体类与MVC中的模型对应;控制类主要用于描述系统中业务逻辑,例如分析阶段中类的行为,在设计阶段可以放置到控制类中实现,控制类与MVC中的控制器对应。设计类图如下图所示。

image.png

名片识别APP设计类图

在上面的设计类图中,UserControll类和CardControll类是MVC框架的控制器类,login.jsp、register.jsp、card.jsp前端页面是MVC框架的视图,User是MVC框架的实体类。

给出设计类图后,还需要给出控制器类每个业务处理方法的顺序图,以明确业务逻辑处理过程。下面给出UserControll类register()业务处理方法的顺序图。

image.png

UserControl类register业务处理方法顺序图

上图给出了使用者注册业务逻辑处理过程,整个过程从使用者进入注册页面开始,涉及到register.jsp页面、UserControll对象、User对象和DataBase对象。

在面向对象设计阶段,除了给出设计类图、顺序图等设计模型外,还需要给出数据库设计、界面设计、软件部署等设计模型,在后面的设计课程都会详细讲述,这里就不再一一给出了。

面向对象的编程实现

面向对象的编程实现是在面向对象设计的基础上,将设计阶段的设计模型映射为计算机编程结构。映射工具可以是代码自动化生成工具,代码自动化生成工具可以根据设计类图自动生成类代码。但大部分编码还需要人工来实现,如MVC框架中JSP页面的实现、控制器类的业务逻辑处理代码、服务类的实现代码等。

在面向对象编程过程中,面向对象的封装、继承、多态、抽象等特征已经在设计阶段完成,因此在编程阶段无需考虑对象的封装、继承、多态、抽象等特征的实现。

总结回顾

面向对象开发方法分为面向对象分析、面向对象设计和面向对象编程实现三个阶段。其中最重要的是面向对象分析和面向对象设计两个阶段。面向对象开发方法主要的分析和设计模型是UML建模语言,面向对象分析一般用到UML建模语言的用例图、类图等模型,面向对象设计一般用到UML建模语言的实现类图、顺序图、部署图等模型。


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论