7.1.3 表现层之View类开发示例.
- 格式:ppt
- 大小:165.00 KB
- 文档页数:11


MVC架构模式实例
⼀、简介
什么是MVC呢?MVC架构模式,也就是Model View Controller模式。它是⼀种软件设计典范,⽤⼀种业务逻辑、数据、界⾯显⽰分离的⽅法组织代码,将业务逻辑聚集到⼀个部件⾥⾯,在改进和个性化定制界⾯及⽤户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来⽤于映射传统的输⼊、处理和输出功能在⼀个逻辑的图形化⽤户界⾯的结构中。
说起来好像是很复杂,但是我对它的理解也就是各⾃处理⾃⼰的任务。
模型:负责封装并实现应⽤的具体功能。可以实现系统中的业务逻辑,通常可以⽤JavaBean来实现。
视图:⽤于与⽤户的交互。⽤来将模型的内容展现给⽤户。⽤户可以通过视图来请求模型进⾏更新。视图从模型获得要展⽰的数据,然后⽤⾃⼰的⽅式展⽰给⽤户,相当于提供页⾯来与⽤户进⾏⼈机交互。⽐如⽤户在登陆注册界⾯完成信息的填报后点击确定,由此来向控制器发出这个请求。
控制器:是Model与View之间沟通的桥梁。⽤来控制应⽤程序的流程和处理视图所发出的请求。当控制器接收到⽤户的请求后,会将⽤户的数据和模型相映射,也就是调⽤模型来实现⽤户请求的功能。然后控制器会选择⽤于响应的视图,把模型更新后的数据展⽰给⽤户。
MVC模式的这三个部分的职责⾮常明确,⽽且相互分离,因此每个部分都可以独⽴地改变⽽不影响其他部分,从⽽⼤⼤提⾼应⽤的灵活性和重⽤性。
⼆、⽬的
使⽤MVC的⽬的是将Model和View实现代码分离,也就是前台html表现层和后台php逻辑层分离。这样做便于开发,代码优化,界⾯交互性好。
归根结底,其⽬的就是便宜项⽬开发。
三、特点
MVC重要特点就是两种分离:1.视图和数据模型的分离:使⽤不同的视图对相同的数据进⾏展⽰;分离可视和不可视的组件,能够对模型进⾏独⽴测试。因为分离了可视组件减少了外部依赖利于测试。(数据库也是⼀种外部组件)2.视图和表现逻辑(Controller)的分离:Controller是⼀个表现逻辑的组件,并⾮⼀个业务逻辑组件。MVC可以作为表现模式也可以作为建构模式,意味这Controller也可以是业务逻辑。分离逻辑和具体展⽰,能够对逻辑进⾏独⽴测试。
viewbinding使用实例
ViewBinding 是一个用于替代 findViewById 的工具,它可以让你更轻松地引用布局文件中的视图。下面我会通过一个简单的实例来演示如何使用 ViewBinding。
首先,你需要在 app 模块的 build.gradle 文件中启用
ViewBinding。在 android 模块中的 build.gradle 文件中添加以下代码:
java.
android {。
...
viewBinding {。
enabled = true.
}。
}。
接下来,假设你有一个名为 activity_main.xml 的布局文件,其中包含一个 TextView 和一个 Button。要在你的活动中使用
ViewBinding,首先要确保已经设置了布局文件。然后,在活动中按照以下步骤使用 ViewBinding:
java.
// 首先,确保已经导入 ViewBinding 类。
import
com.example.yourapp.databinding.ActivityMainBinding;
// 在活动中创建一个私有变量来保存对绑定类的引用。
private ActivityMainBinding binding;
// 在活动的 onCreate 方法中,使用静态的 inflate() 方法来实例化绑定类,并使用它来获取对视图的引用。
@Override.
protected void onCreate(Bundle savedInstanceState) {。
super.onCreate(savedInstanceState);
binding =
Android自定义View之onMeasure()源码分析及重写
系统显示一个View,首先需要通过测量(measure)该View来获得其长和宽从而确定显示该View时需要多大的空间。而在测量的过程中MeasureSpec贯穿全程,发挥着不可或缺的作用。 所以,了解View的测量过程,最合适的切入点就是MeasureSpec。
MeasureSpec
我们来看一下Google官方文档对MeasureSpec的描述
A MeasureSpec encapsulates the layout requirements passed from parent to child. Each
MeasureSpec represents a requirement for either the width or the height. A MeasureSpec is
comprised of a size and a mode.
大概意思就是,MeasureSpec封装了从父节点传递给子节点的布局要求。每个MeasureSpec表示宽度或高度的要求。度量规格包括size(大小)和mode(模式)。
这句话里透漏了几个重点:
MeasureSpec封装了从父节点传递给子节点的布局要求
MeasureSpec可以表示宽度和高度
MeasureSpec由size和mode组成
MeasureSpec通常翻译为”测量规格”,它是一个32位的int数据。其中高2位代表SpecMode即某种测量模式(mode),低30位为SpecSize代表在该模式下的规格大小(size)。
可以通过如下方式分别获取这两个值:
获取模式(mode)
int specMode = MeasureSpec.getMode(measureSpec);
获取大小(size)
int specSize = MeasureSpec.getSize(measureSpec);
v模式的使用方法
v模式是一种基于mvc模式的软件设计模式,它旨在将视图(View)、控制器(Controller)和模型(Model)分离,以便于代码的维护和功能的扩展。在本文档中,我们将详细介绍v模式的使用方法,包括创建视图、创建控制器、创建模型、视图与控制器的交互、模型与控制器的交互等内容。
一、创建视图(View)
在v模式中,视图是展示数据和接收用户输入的界面元素。以下是创建视图的步骤:
1. 定义视图类:创建一个视图类,继承自适合您项目的基础视图类(例如,UIView或UIViewController)。
2. 设计界面布局:使用Interface Builder或编程方式,在视图类中定义和布局所需的界面元素,例如标签、按钮、文本框等。确保界面布局清晰易懂,并对用户友好。
3. 实现视图逻辑:在视图类中实现逻辑代码,例如更新界面元素的展示、处理用户输入、监听事件等。
以一个简单的登录界面为例,创建一个LoginView类用于显示用户名和密码输入框,以及登录按钮。在LoginView类中,可以使用IBOutlet关联用户名和密码输入框的UITextField对象,并使用IBAction关联登录按钮的点击事件。
二、创建控制器(Controller)
控制器在v模式中负责处理视图的交互和模型的更新。以下是创建控制器的步骤:
1. 定义控制器类:创建一个控制器类,继承自适合您项目的基础控制器类(例如,UIViewController)。
2. 关联视图:在控制器类中,使用引用或依赖注入等方式将需要操作的视图对象关联到控制器中。
3. 处理视图交互:在控制器类中,实现视图的回调方法(例如按钮点击事件),并在这些方法中执行相应的逻辑,例如更新模型、调用其他控制器、显示视图等。
继续以上面的登录界面为例,创建一个LoginController类用于处理登录界面的逻辑。在LoginController类中,可以实现一个loginButtonTapped方法,该方法在用户点击登录按钮时被调用,并在这个方法中处理用户名和密码的校验逻辑,以及调用模型层进行登录操作。