【开发者的精进】 数据驱动下的程序设计

简介: 写在前面   大雪至,风纷飞,夜里呜声伴秋叶,转眼2017也快要过去了,时间在不停的走,事情在不停的做,今年的秋叶落尽了,明年的春芽也就不远了吧。     纵观程序千万,ui、功能、语法、运算、框架,都可以用数据两个字来囊括,二进制数据、xml数据、数据库数据。

写在前面

  大雪至,风纷飞,夜里呜声伴秋叶,转眼2017也快要过去了,时间在不停的走,事情在不停的做,今年的秋叶落尽了,明年的春芽也就不远了吧。

 

  纵观程序千万,ui、功能、语法、运算、框架,都可以用数据两个字来囊括,二进制数据、xml数据、数据库数据。 数据的基本定义是:

数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。

数据可以是连续的值,比如声音、图像,称为 模拟数据。也可以是离散的,如符号、文字,称为 数字数据
 
在计算机系统中,数据以二进制信息单元0,1的形式表示
 
在我们的开发中,你很可能使用的是xml,json,有时候要使用到base64,,对象,数组,它们都是数据的展现,在开发中大部分人可能忽略了一个出发点,那就是 数据驱动开发,在数据驱动下的开发事半功倍。
 

 数据驱动开发

  那么什么是数据驱动开发?  我的理解是,它是一种顺序思维,我们在开发时,往往关注于功能点、一个代码单元、单个系统,这里我以一个web界面解释(博主擅长web),

日常,我们界面开发流程可能是这样的:

  1.需求A,一个web界面,如下图

  

 2. ok 一张个人中心界面,这里面有什么呢,

   ①.一个用户,包含头像,姓名等信息

          ②.两个记录表

 3.然后就开始开发了,

  

 

一般的思维,首先布局,头部》中间》底部》动画 ,然后请求服务器数据,最后把数据渲染到页面中。这符合我们一贯的思路,不论用什么框架,什么技术,流程大多如此,但是作为对比,我们来看看数据驱动下的界面开发

    

 界面制作动手之前,我们需要设计一个数据模型,例如个人中心界面,这个简单的界面可以分为两块。

  1、用户信息

  2、相关信息

现在我使用json表示这个界面

{
    "user":{
    },
    "about_msg":{
    }  
}

 在用户信息里有用户名,头像,在相关信息里,有用户详细信息,报修记录,宽带记录,其中报修记录,宽带记录是有图标,有链接的,那么最后的数据模型应该是这样的

{
    "user":{
        "name":"zhangtaifeng",
        "img":"..."
    },
    "about_msg":{
         "user_detail":[
             {
                   "title":"姓名",
                   "value":"zhangtaifeng"
              },
             {
                   "title":"学号",
                   "value":"123456"
              },
             {
                   "title":"邮箱",
                   "value":"..."
              }
        ],
         "maintenance":{
             "icon":"../images/...",
             "href":"",
              title:"保修"
        },
        "buy":{
              "icon":"../images/...",
              "href":"",
              "title":"购买"
        }
    }  
}                             

当数据模型准备完毕,界面的开发就变得简单起来,无论你是用什么样的框架都可以在这样的数据基础上,或循环、或模板引擎、或后台渲染,核心要求是,

数据必须在前面,数据改变,界面改变,如果界面更改了,数据没有同步,那么这些设计就变得毫无意义。

可以预见的是,一旦使用了数据模型驱动界面开发,那么这块工作是由难到易的,后期维护简单。

这还只是一个简单的个人中心界面。开发复杂的、大型的图形界面,数据驱动无疑是最好的开发方式。

要点

  1、数据模型需要在用户界面的前面,也就是说,数据更改,界面更改。不可以直接更改界面,就算重新设计,也需要首先从数据修改入手。

  2、你可以设置数据监听,改变时重新渲染界面。也可以做一个驱动函数,专门负责界面渲染,每次更改数据调用,例如:

var data = {name:"zhangtaifeng"};
//渲染函数
var changeView = function(data){
     document.body.innerHTML='<h1>'+data.name+'</h1>';
      return  data
};

changeView(data); //zhangtaifeng

setTimeout(function(){
    data.name="aaa";
   changeView(data); //aaa
},3000);

  前端,像vue angular react都提供了简便的watch方法。

      3、尽量使页面数据化,如果你的项目不是依赖seo的话。

优势

  假如A和B开发了一个一样的界面,A和平时一样,写html...写js....请求数据。 B首先设计数据模型,然后设计驱动函数,然后写html,写js,请求数据。 

  一开始看,A大多数情况下会比B快很多的,按通常流程走,符合逻辑。 

       现在老板需要增加一行元素,比如”我的订单“。

       A需要修改html、增加js

  B只需要在数据模型上加一行”我的订单“就行了。

  类似的,如果要你保存页面状态,怎么办?   保存数据就行了。

  跳转登录,返回回填表单,保存数据就行了。

       还有更多的好处。。。

结束

  传达一些想法,表示一些逻辑,实属不易,若笔头略有顿挫,诸君见谅,若观点也有偏差,望各位海涵,然君指出后,言出必思,思之必改,谢谢大家。

======================================================== 转载请注明出处。
目录
相关文章
|
2月前
|
前端开发 开发者 C++
通过对比普通开发者与大牛们的学习策略,揭秘他们高效学习的秘诀
前端技术日新月异,大牛们如何保持竞争力?本文对比普通开发者与大牛的学习策略,揭示高效学习的秘诀:明确目标、主动探索、系统资源、注重实践、持续学习。通过这些方法,大牛们能快速掌握新技术并应用于实际工作。
77 5
|
3月前
|
前端开发 NoSQL 关系型数据库
探索后端开发:从零到精通的旅程
【9月更文挑战第36天】在数字时代,后端开发是构建强大、可靠和高效应用程序的核心。本篇文章将带你踏上一段奇妙之旅,从基础概念到高级实践,揭示后端开发的奥秘。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和启发。让我们一起探索后端开发的世界,发现它的无限可能!
43 3
|
传感器 人工智能 物联网
数字孪生编程入门
数字孪生编程入门
127 0
|
2月前
|
前端开发 JavaScript 开发工具
独家揭秘:前端大牛们都在用的高效开发工具,你get了吗?
前端开发领域日新月异,Visual Studio Code、Webpack、React/Vue和Git等工具凭借高效、便捷的特点,深受前端大牛们青睐。本文将揭秘这些工具的使用技巧,帮助你提升开发效率,轻松应对各种前端挑战。
38 3
|
2月前
|
前端开发 JavaScript 持续交付
揭秘!前端大牛们如何巧妙利用前端工程化,提升团队协作效率!
【10月更文挑战第30天】前端工程化是将前端开发视为工程项目,通过工具、方法和流程优化开发过程,提升代码可维护性、可扩展性和可测试性,降低团队协作成本。核心工具如Webpack、Git和CI,帮助实现自动化构建、版本控制和持续集成,显著提高开发效率和项目稳定性。
49 6
|
6月前
|
设计模式 安全 测试技术
编程中常见的技术难题有哪些?
编程中常见的技术难题有哪些?
120 0
|
4月前
|
算法 测试技术 开发者
精进你的代码:重构的艺术与实践
在软件开发中,编写清晰、高效且可维护的代码是每位开发者的追求。重构是提升代码质量的关键手段,它在不改变代码外部行为的前提下,优化其结构、可读性和性能。本文探讨重构的艺术与实践,介绍重构的概念、目标及基本原则,并提供实用技巧,如提取方法、简化条件表达式、消除重复代码、使用描述性命名和优化数据结构,帮助开发者持续改进代码,应对需求变化,提高开发效率。
|
5月前
|
存储 关系型数据库 数据库
探索后端开发:从零到一的旅程
【8月更文挑战第27天】本文将引导你踏上后端开发的奇妙之旅,从基础概念的搭建到实际项目的实现。我们将通过一个简单的例子—构建一个博客网站后端—来展示如何一步步地将理论转化为实践。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和深入的理解。让我们开始吧!
|
5月前
|
SQL 安全 前端开发
后端开发的艺术与实践
【8月更文挑战第21天】在数字时代的浪潮中,后端开发如同一座隐秘而强大的引擎,支撑着互联网世界的运转。本文将深入探讨后端开发的哲学、技术选型的艺术以及实践中的高效策略,带领读者领略后端开发的精妙所在,并启发对于未来技术趋势的思考。
|
8月前
|
前端开发 数据可视化 搜索推荐
数据驱动的前端设计与开发实践
本文将介绍如何在前端设计与开发中充分利用数据驱动的方法,通过数据分析、用户行为追踪和可视化等手段,指导前端界面设计和功能开发,提高用户体验和产品质量。

热门文章

最新文章