关于web界面设计的整体可维护性的感悟
1.表现与数据分开管理:
某些数据具备特殊的表现格式,比如颜色,大小等等。为了对这些格式表现分开管理进行
a.使用css定义该类型数据的表现形式: 定义数据的类别,通过该类别对数据格式进行统一定义
.类别名 {
}
b.对于某些数据,比如说金钱需要在前面加上一个$符号的,使用js统一对所有该类别的数据进行特别设置。这样在显示该数据时候,只需要设置为类别,就可以显示特别形式。
$(".类别名").each( ....)
c.如果在别人定义的基础上进行修改,需要注意加上别人定义类别的前缀,这样的话不会对无关者改变。不能让所有人对基本类别都可以肆意修改,修改权限越低,则前面限定的类别应该越多,否则造成混乱。
.类别名 .类别名1{
}
d.数据表现元数据的定义应该统一在数据库单一源查询得到,如果随意在代码中定义表现的规则,那么后期维护也会非常麻烦。所谓元数据:即数据库中存放数据 <-> 网页上表现数据;他们并不一定一致,这种转换的规则必须统一源来定义。比如采取语言国际化标准,可以使用django的国际化,或者js的国际化。再例如一些数据的元数据,比如说类型,国家等等。在使用这些元数据的时候需要统一接口进行使用,而非各自在各自模块中定义一套。
2.所谓的元数据
a.数据的展现格式类别: 例如 css 样式
b.在数据库中具体表格数据,对应的数据意义。
我们获取的REST的数据可能并非界面有好的,如果这个从非界面有好到界面友好之间需要转换,那么应该有个统一的转换层。为什么要统一,防止每个子模块对数据自定义解释,这样后期就难以维护。转换层可以在服务端,也可以 在客户端使用js
c.
关于web界面设计的整体可维护性的感悟的更多相关文章
- Web界面设计(Designing Web Interfaces中文版) (美)斯科特 pdf扫描版
Web界面设计是由Bill Scott编著.电子工业出版社出版的一部图书,在Web已经进入崭新的时代的今天,界面的设计显得非常重要,本书就是基于独一无二的Web环境下.在创建丰富体验的过程中设计Web ...
- web界面设计
本书描述了6个设计原理,即直截了当.简化交互.足不出户.提供邀请.使用变换.即时反应. 一.直截了当(alan cooper:"在哪里输出,就要允许在哪里输入") 1.1 行内编辑 ...
- web 界面设计---js设置txt值
<head><meta http-equiv="Content-Type" content="text/html; charset=gb2312&quo ...
- web 界面设计---js提交表单
<script type="text/javascript"> function checkImage(){ var imageValue = document.get ...
- web 界面设计---大道至简
http://www.cnblogs.com/coder2012/p/4023442.html 一个非常精简的webpy页面博客 qing.weibo.com 新浪的轻微博也不错精简
- 对WEB前端的几段思考(一)——界面设计和性能优化(整理中)
尽管我并非艺术出生,既没有任何设计基础,又没有较高艺术涵养,也深谙在短时间内创造一定艺术造诣并非易事,但是既然当初选择从事网站前端开发,我的目光不能仅停留在前端代码上.作为一名志向在前端领域发展的人员 ...
- 免费素材:25套免费的 Web UI 设计的界面元素(转)
Web 元素是任何网站相关项目都需要的,质量和良好设计的元素对于设计师来说就像宝贝一样.如果您正在为您的网站,博客,Web 应用程序或移动应用程序寻找完美设计的网页元素,那么下面这个列表会是你需要的. ...
- 表格布局扩展/DW设计界面中快速整体布局页面的操作
DW设计界面中快速整体布局页面的操作流程: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...
- 必胜宅急送Web app设计背后的思考
O2O模式是餐饮业在移动消费趋势下主动拥抱互联网的方向,迎合餐饮消费者从以往经验判断为主转变为依靠移动设备.lbs.社交网络进行立体决策的过程.继App客户端之后,手机web app也逐渐成为O2O中 ...
随机推荐
- Opencv 直方图比较
#include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namespace cv; ...
- 4418开发板读取u盘说明
1.插上u盘后会在dev下生成两个文件db db1 将db1挂载即可访问..
- Java多线程—JUC原子类
根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类. 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;2. 数组类型: AtomicIn ...
- jedis的publish/subscribe[转]含有redis源码解析
首先使用redis客户端来进行publish与subscribe的功能是否能够正常运行. 打开redis服务器 [root@localhost ~]# redis-server /opt/redis- ...
- JMS 之 Active MQ 的spring整合
一.与spring整合实现ptp的同步接收消息 pom.xml: <!-- https://mvnrepository.com/artifact/org.springframework/spri ...
- understand的安装
1.win7 64位下安装 1)下载Understand.4.0.908.x64.rar. 2)解压之,直接运行里面的Understand-4.0.908-Windows-64bit.exe. 3)选 ...
- 爬虫框架scrapy的基本内容
Scrapy介绍 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以帮助用户简单快速的部署一个专业的网络爬虫.如果说前面我们写的定制bs4爬虫是”手动挡“,那Scrapy就相当 ...
- centos7.0查看有没有运行mysql
centos7自带是mariadb,一个mysql的变种. 查看有没有安装过:yum list installed mysql*rpm -qa | grep mysql* 安装mysql软件(mari ...
- es-文档版本号,操作类型,分片选择
一.版本号: 在es中每个文档都有一个版本号,默认情况下,版本号都是随着每次对该文档的修改或者删除自增的,当然你也可以自己指定.有了这个文档号,我们可以像mysql 乐观锁一样,用来进行控制字我们文档 ...
- lnmp 多站点配置负载均衡
1.虚拟机安装3个centos 2.三台服务器IP: 192.168.191.129(主)192.168.191.130192.168.191.131 3.分别在3台服务器的vhost目录下新建配置文 ...