博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
漫谈界面和数据
阅读量:6029 次
发布时间:2019-06-20

本文共 917 字,大约阅读时间需要 3 分钟。

2012-09-15 00:18:瞅着要不要发?!求指导,欢迎斧正。以下是原文。

下面的文字是关于界面和数据的,是在做了项目之中之后的心得体会。求指导,欢迎斧正。

刚开始接触界面编程的时候,还不能意识到界面和数据的概念。所以代码的思路纯粹是跟着感觉走的,和搭积木一样。这时候,我更倾向于按照习惯——按事物的功能分类,把界面和数据代码放到同一个地方,这样让我对界面和数据(当时还没有清晰的概念)有满意的控制优越感。正是初学者,一开始都动手做自己YY的小软件,数据和界面的问题并不是很突出。这时候做到界面元素和业务逻辑的结合显然意义不大——后来发现句话说的有点早。

原因是往后我又YY了下,想升级下上次小软件的功能。可是越到后来越是发现升级很困难。于是不得不丢弃这个软件的升级。所有的业务逻辑被封装在界面代码里头,对数据的掌控就不那么随心所欲了——这句话也太早了。因为这样界面元素和数据之间得到更新或者同步方便很多,界面可以直接获取,而不是跨越其他的对象。

注意,所谓的界面元素和业务逻辑的分离并不是界面和数据井水不犯河水,既然是可视化的编程那么界面和数据就可定会有交互。就比如编辑框你可能需要在显示编辑框的时候希望它能够显示数据,这里就存在交互了。

但要做到界面数据和后台数据的同步就不是那么直观了。例如,需要实现界面数据和后台数据的同步等,这时候如果业务逻辑仍被死死捆绑在界面内的话,界面和数据就真真正正打死结,可能说的有点严重,但很可能会对工程作较大的修改。在MFC中,我是这么做的。界面和数据做适当的分离。首先一块界面/界面数据区,界面/数据捆绑器,数据区。

  1. 界面/界面数据区负责UI设计和界面数据的显示。
  2. 界面/数据捆绑器负责维护界面和业务逻辑之间的同步等等。
  3. 数据区则负责纯数据的管理。

在请教先生的时候,先生有建议把数据处理部分独立开来,这可以提高代码的复用。哈,最后的数据区正是为此独立出来的。

在界面元素相对单一,并且在不考虑升情况下,YY是很不错的选择,对程序员来说,愉悦身心。但反之,最好三思而后行。最后需要记下的是,界面永远是数据的奴仆。我认为,分析架构一个项目,数据先行!

本文完 2012-09-14

捣乱小子

转载地址:http://zcdhx.baihongyu.com/

你可能感兴趣的文章
[转] C#实现在Sql Server中存储和读取Word文件 (Not Correct Modified)
查看>>
sql 语句中 id&lt ;SELECT * FROM t_blog WHERE id<#{id} ORDER BY id DESC LIMIT 1
查看>>
深入理解闭包系列第四篇——常见的一个循环和闭包的错误详解
查看>>
一些 Linux 常用命令说明
查看>>
ipa如何通过网络进行安装
查看>>
CentOS 7系统LAMP配置PHP-FPM的示例
查看>>
详解RocketMQ中的consumer
查看>>
C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有
查看>>
win产品密钥大搜集
查看>>
【20160924】GOCVHelper综述
查看>>
Linux之查看文件大小和数目
查看>>
Tomcat7优化配置
查看>>
Html5编辑工具
查看>>
mac 启动apache + php
查看>>
【转载】一个优秀求职者应主动问的一些问题
查看>>
工作中用到的自定义控件
查看>>
Hydra用户手册
查看>>
常用的集合
查看>>
Unity3D工程源码目录
查看>>
杀死进程命令
查看>>