Android之MVC设计模式

7 篇文章 0 订阅
MVC设计模式常应用于web项目,那么android上的mvc设计又体现在哪些地方呢?
首先谈谈什么叫做mvc。MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,这与《设计模式》中的观察者模式是完全一样。
首先举个具体的例子(web端)
<html>
用户年龄:
<?php
    $id=$_POST['id'];
    $sql="select age from user where id=".$id;
    $result=mysql_query($sql);
    $row=mysql_fetch_array($result);
    $age=$row['age'];
    echo $age;
?>
</html>
这是一段简单的html和php嵌套的代码,上述代码完成了从数据库中根据用户id取出用户年龄的功能。但是这段代码有很多问题,刨除用户输入没有进行过滤的考虑,这段代码将显示,逻辑与数据都写在了一起,这样的代码利用率低,而且管理很不方便,因为如果编写大型网站都使用这样php嵌套html的方式来进行编码的话,需要做的重复工作特别多,而且如果一旦有一个地方需要变动的话,你可能需要一个个修改无数的页面。尽管这种做法今天看起来并不科学,但是曾经的互联网上,大量充斥的都是这样的代码。
下面来讲一种简单的将这种页面转换为mvc的方式。
    <html>
       用户年龄:
       <script>
           var jsonResp=request.responseText;
            jsonResp=jsonResp.parseJSON();
          var outputStr=jsonResp.toJSONSting().age;
          document.writeln(outputStr);
    </script>
</html>
这段代码的作用是将年龄信息从后台发送来的json数据中解析出来。下面是后端的代码。
   先创立一个Model类
<?php
      class Model
      {
             public $table;
             public $field[];
             public function __set($table,$field)
             {
                   $this->$table=$table;
                   $this->$field=$field;      
             }
    }
?>

操作数据库的类

<?php
         class Database
         {
                ...(其余的成员)
                public  $condition;
                public  $database;
                public  $result;
                ...
                public function connect()
                {
                    ...
                    连接数据库
                    ...
                }
                public function query($condition,$database,$condition_num)
                {
                $sql="select ".$result."from". $database.where $condition."=".$condition_num;
                $result=mysql_query($sql);                                $row=mysql_fetch_array	($result,$result_type);
                        return $row;
               }            
     }
?>
<?php
                创建一个Model
        $Model=new Model(...);
                创建数据库操作对象
        $Data=new DataBase($Model->...);
        以json格式输出结果
        echo json_encode($Data->query(...));
?>
   上面的代码大概搭起了一个web版的mvc框架,其中网页端为view,php写的类为model,最后控制这些的代码为controler.
   说清了mvc的概念及其应用后,我们可以看看mvc在android端是怎么体现的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值