IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 初识MVC和面向对象 -> 正文阅读

[开发测试]初识MVC和面向对象

基于快递柜理解面向对象和MVC

初识MVC

MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

  • 模型(Model):程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能);
  • 控制器(Controller):负责转发请求,对请求进行处理;
  • 视图(View):界面设计人员进行图形界面设计。

基于快递柜:

?

视图层

view包里view类只做在控制台上有关的的显示以及接收使用者输入与使用者交互,对数据处理的逻辑(异常、自定义范围等)。之后创建对象使用这些方法 可以理解为工具

?

?

实例

Pojo或bean包下的实例类,只用于对象属性的声明以及get方法set方法的创建,构造方法,toString的重写 equals重写(1是否时同一指针2非空性3是不是同类 传入对象instansof 另一个或者用getClass() 传入对象.getcCass() 传入对象的类型转换 4比较的属性用equals比较)

?

数据存储层

只负责进行数据的操作,也理解为工具(构造代码块与二维数组)

?

调度层

用于组织这些工具进行逻辑上的使用

组织各工具的使用,需要思考

1各层的方法的返回值与参数,便于调度时与视图显示,数据存储关联上

2调度的时候逻辑需要结合实际需求,这部分清晰 上面的调度和优化才会很清晰

3多思考架构 各层的关系

?

?

面向对象:

把事物分成一个一个对象,每个对象有自己的属性以及行为,最后调度这些对象协调做事。

例如:企业的构建 各个部门拥有共同的属性和行为只关注自己的职责,每个具体的人就是每一个对象。

企业就相当于Object 各部门就继承了它的属性以及行为(企业发展),各部门的员工就是具体细化的存在。

面向对象具有三大特性

封装:

1类:封装了每个对象的属性和行为

2方法:封装特定的业务逻辑功能实现

3访问控制修饰符:封装的时具体的访问权限------数据安全性

继承:

1作用:代码复用性

2超类(父类):所有派生类共有的属性和行为

3接口:部分派生类共有的属性和行为

4派生类:特有的属性和行为(属性私有化,方法公开化)

特点:

类和接口的关系

类和类的关系 继承,只能是单继承,但是可以多层继承

类和接口的关系

实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口 ,隔开

接口和接口的关系

继承关系,可以单继承,也可以多继承 , 隔开

多态

行为多态:所有抽象方法都是多态的(重写)

对象多态:所有对象都是多态的(造型,强转转换类型,instanceof判断、对象.getClass()类的判断)

面向对象和MVC的初识都是设计最先关注感觉应该是搭建一个架构,需要什么工具,工具之间应该怎么联系。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-07-16 11:36:27  更:2021-07-16 11:37:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 9:07:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码