美文网首页
android MVC 框架

android MVC 框架

作者: alsheng | 来源:发表于2018-10-30 15:40 被阅读0次

前言:
以前刚接触的时候,别人都讲我们用的最基础的框架就是mvc框架,就是那种将所有的代码写在一个activity。之后,我开始接触mvp框架,并且一直使用至今,导致对mvc框架的了解越来越少。最近偶然接触,并且搜了几篇文章,才了解以前写的算是一个“随机框架”,毫无章法。

一、何为mvc框架?

首先了解mvc是由model(模型)、view(视图)、controller(控制器)组成的。百度搜索mvc的图解,更直观的帮助了解

b03533fa828ba61edbddc04d4034970a304e59a4.jpg

模型(Model) 用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“ Model ”有对数据直接访问的权力,例如对数据库的访问。“Model”不依赖“View”和“Controller”,也就是说, Model 不关心它会被如何显示或是如何被操作。但是 Model 中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此 Model 的 View 必须事先在此 Model 上注册,从而,View 可以了解在数据 Model 上发生的改变。

视图(View)能够实现数据有目的的显示(理论上,这不是必需的)。在 View 中一般没有程序上的逻辑。为了实现 View 上的刷新功能,View 需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。

控制器(Controller)起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据 Model 上的改变。
下面是我所理解的图mvc的框架图


mvc.png

二、为何使用mvc框架

MVC模式最早由Trygve Reenskaug在1978年提出[1],施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件架构。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。

1.各施其职,互不干涉
在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。

2.有利于开发中的分工
在MVC模式中,由于按层把系统分开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控制层。

3.有利于组件的重用
分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。

三、如何使用mvc框架

本人用mvc框架写了一个非常简单的demo
controller

public class LoginActivity extends BaseActivity implements LoginModel.OnLoginListener {

@BindView(R.id.main_tv)
TextView mainTv;
LoginModel mLoginInterface;

@Override
protected int getContentViewID( ) {
    return R.layout.activity_main;
}

@Override
public void initView( ) {
    mLoginInterface = new LoginModel();
    mLoginInterface.loginByPassword(this,"1","2");
}

@Override
public void onSuccess(String tip) {
    mainTv.setText(tip);
}
 }

model

public class LoginModel implements LoginModelImpl {
@Override
public void loginByPassword(OnLoginListener mOnLoginListener,String phoneNumber,String password) {
    mOnLoginListener.onSuccess("成功 ");
} }

//以下这个为方法的接口,便于管理将onListenter放在同一个类中

public interface LoginModelImpl {
void loginByPassword(OnLoginListener mOnLoginListener,String phoneNumber,String password);


interface OnLoginListener {
    void onSuccess(String tip);
}}

view
这里我所理解的就是layout文件夹下的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff">
<TextView
android:id="@+id/main_tv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"/>
</LinearLayout>

相关文章

  • 一个简单的mvp框架

    android中的各种框架 在主流的开发框架中,目前比较流行的框架有MVC,MVP,MVVM框架。 MVC MVC...

  • Android开发人员应该知道的一些技术

    一、Android MVC、MVP以及MVVM框架模式 MVC开发框架 View:对应于布局文件和自定义View,...

  • MVC和MVP模式在android中的应用

    参考:框架模式 MVC 在Android中的使用【架构设计】MVP与MVC,实现Android应用层开发

  • Android Retrofit 2 + Retrofit 2

    实现MVC基础框架实现MVP基础框架(一)Android Retrofit 2 + Retrofit 2 封装(二...

  • Android框架

    Android框架 看到Google提出新的架构组件,想要按照我的角度写写Android框架。 MVC 从我接手A...

  • android MVC 框架

    前言:以前刚接触的时候,别人都讲我们用的最基础的框架就是mvc框架,就是那种将所有的代码写在一个activity。...

  • Android MVC框架

    注:MVC模式适用于小型的项目 MVC即:Model层(模型层)、View层(视图层)、Controller层(控...

  • 谈谈Android框架 MVC、MVP、MVVM的区别

    今天写写Android的MVC、MVP、MVVP三个框架的对比,并加深自己对这三个框架的理解。 一 . MVC:M...

  • Android开发之浅淡MVI框架

    前言 在Android开发中有许多框架框架MVC、MVP和MVVM等,就MVVM框架更是被Google官方推荐,那...

  • 代码重构,MVP+RxJava+Retrofit

    1. Android开发框架的选择 我们知道原生Android开发已经是一个基础的MVC框架,其中xml部分被认为...

网友评论

      本文标题:android MVC 框架

      本文链接:https://www.haomeiwen.com/subject/yyzbtqtx.html