MVC设计架构

本文介绍了MVC和MVP两种软件架构模式在Android应用开发中的应用。MVC模式将应用程序分为模型、视图和控制器三部分,强调业务逻辑、数据和界面的分离。在Android中,Activity作为控制器,负责数据的处理和用户交互。MVP模式进一步解耦,通过Presenter作为View和Model之间的桥梁,使得View和Model完全隔离,提高了代码的可测试性和可维护性。
摘要由CSDN通过智能技术生成

MVC设计架构与MVP设计架构

MVCModel-View-Controller,模型-视图-控制器)

架构设计的目的:

为实现应用开发中各模块间的低耦合,以及模块内的高内聚。使软件的体系结构更加清晰,因此在项目应用开发中提出多种架构模式,本文主要介绍Android应用开发中的MVC ,MVP架构模式。

MVC定义:

是软件工程中的一种软件架构模式。他把软件系统分为三个部分:模型(Model),视图(View),控制器(Controller),即用一种业务逻辑,数据,界面显示分离的方式组织代码。

· Model(模型)表示应用程序核心(业务逻辑操作),用于处理应用程序数据逻辑部分。

· View(视图)显示数据(界面设计),视图是依据模型数据创建的。

· Controller(控制器)处理输入(与用户的交互操作),通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。


MVC设计目的:

MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展可以容易操作,并且使程序某一部分可以重复利用。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。MVC即将MV的实现代码进行分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保MV的同步,一旦M改变,应该同步更新。

MVC优点:

· 从用户的角度出发,用户可以根据自己的需求,选择自己合适的浏览数据方式。

· 从开发者的角度,MVC把应用程序的逻辑层与界面层完全分开,界面设计人员可以直接参与到界面开发,程序员就可以把精力放在逻辑层上。从而使程序员从多重工作中解脱出来。

Android中的MVC

Model:

数据模型,负责数据处理相关的逻辑,封装应用程序状态,响应状态查询,通知View作相应的改变,在AndroiddatebaseSharePreference等都属于这一层。

View:

处理数据显示的部分,各种XML布局以及和其相关的开发工作可以视为V层,显示Model层的数据结果.

Controller:

Android中,Activity用于处理与用户交互,因此可以认为Activity是控制器,Activity读取V视图层的数据(如读取当前EditText控件的数据),控制用户输入(如EditText控件中数据的输入),并向Model发送数据请求(发起网络请求,数据库的查询与更等).

示例如下:

在一个实现用户登录如注册的Android项目开发中

controller层

对用户选择的登录操作进行不同的控制


public class MainActivity extends Activity {
    private Button register;
    private Button login;
    private EditText username;
    private EditText passworld;
    private EditText userid1;
    private EditText username1;
    private EditText password1;
    private EditText userage1;
    UserService uService;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        uService=new UserService(this);
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值