网站首页 > 技术文章 正文
面向对象的层
把面向对象系统中相互联系的所有对象分成3层:数据访问层、业务逻辑层和表示层,
区分层次的目的是遵循“高内聚、低耦合”的思想。
1.数据访问层主要是针对原始数据(数据库或者文本文件等存放数据的形式)进行操作的层。是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。
2.业务逻辑层主要是针对具体问题的操作,也可以理解成对数据层的操作,对数据业务进行逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。
3.表示层
展现给用户的界面,即用户在使用一个系统时的所见所得。
用户不能直接和业务逻辑层交互,而是通过鼠标和键盘对用户界面进行操作,使表示层与业务逻辑层交互。当业务逻辑层中的对象需要保存实现持久化时,就需要使用数据库实现对象的持久性,即保存对象中的数据。每个过程需要为每个逻辑类定义一个单独的数据访问层,以便处理数据和保存有用的信息。
这3层构成了系统的物理模型。
面向对象的模型
UML中提供了3种面向对象的模型,使用这3种模型从不同的视角来描述系统,它们分别是描述系统内部对象及其关系的类模型,描述对象生命历史的状态模型,以及描述对象之间交互行为的交互模型。
对系统的完整描述,需要所有这3种视角的模型。1.类模型
类模型(Class Model)描述了系统内部对象及其关系的静态结构。
类模型界定了软件开发的上下文,包含类图。
类图(Class Diagram)的节点是类,弧表示类间的关系。
2.状态模型
状态模型(State Model)描述了对象随着时间发生变化的那些方面。状态模型使用状态图确定并实现控制。
状态图(State Diagram)的节点是状态,弧是由事件引发的状态间的转移。
3.交互模型
交互模型(Interaction Model)描述系统中的对象如何协作,以完成更广泛的任务。
交互模型自用例开始,用例的概念随后会用顺序图和活动图详细描述。
用例(Use Case)关注系统的功能,即系统为用户做了哪些事情。
顺序图(SequenceDiagram)显示交互的对象以及发生交互的时间顺序。
活动图(ActivityDiagram)描述重要的处理步骤。
上述的3个模型描述了一套完整系统的相互独立的部分,但它们又是交叉相连的。类模型是最基本的,因为在描述何时以及如何发生变化之前,要先描述是哪些内容正在发生变化。
猜你喜欢
- 2024-10-24 ABAP面向对象之单例模式(Singleton Pattern)
- 2024-10-24 什么是面向对象编程? 什么是面向对象编程?它与面向过程编程有什么区别
- 2024-10-24 系统建设的脊柱:表对象建模 建立表对象的表间关系
- 2024-10-24 Python基础-Python面向对象编程 python面向对象的基本概念
- 2024-10-24 几种常用关系型数据库介绍 关系型数据库大全
- 2024-10-24 如何理解python中面向对象里面的单例模式?
- 2024-10-24 如何通俗易懂理解Python类和面向对象?
- 2024-10-24 盛齐讲软考系规:什么是面向对象的基本概念
- 2024-10-24 学习笔记——面向对象(类与对象) 面向对象的类和对象
- 2024-10-24 面向对象方式编写前端页面(1) web面向对象
你 发表评论:
欢迎- 最近发表
-
- 吴谨言专访大反转!痛批耍大牌后竟翻红,六公主七连发力显真诚
- 港股2月28日物业股涨幅榜:CHINAOVSPPT涨1.72%位居首位
- 港股2月28日物业股午盘:CHINAOVSPPT涨1.72%位居首位
- 港股3月2日物业股涨幅榜:CHINAOVSPPT涨1.03%位居首位
- 港股3月2日物业股午盘:CHINAOVSPPT涨1.03%
- 天赋与心痛的背后:邓鸣贺成长悲剧引发的深刻反思
- 冯小刚女儿徐朵追星范丞丞 同框合照曝光惹人羡,回应网友尽显亲民
- “资本大佬”王冉:51岁娶小17岁童瑶,并承诺余生为娇妻保驾护航
- 港股3月2日物业股午盘:CHINAOVSPPT涨1.03%位居首位
- 「IT之家开箱」vivo S15 图赏:双镜云窗,盛夏风光
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)