linugb118--java space

Java

什么叫面向变量编程?

 

什么叫面向变量编程?

1.其实程序的传递就是变量的传递,变量是任何编程中不可缺少的因素。随着很多模式和编程方式的出现,应用设计可能层次比较清楚,更宜人理解。然而变量将变得很多,同样作用的变量在不同的层中可能不一样,而且随着不同开发人员在同一时间开发不同的层或者不同时间开发同一模块都可能根据自己的想法声明或者定义某个变量,而他们所定义的这个变量其实都是一样的, 理论上应该是一个变量,或者说至少命名应该一样。如果能归为同样命名的变量,那就能很大程度上减少维护和开发的工作。所以能否将同样功能的变量进行统一命名就很有必要。

2.了解变量其实就是了解业务,虽然很早就强调文档,强调业务知识的学习,然而我觉得看程序其实是了解业务的最好方法,但条件是程序比较清楚, 这里包括应用的构架清晰,具有相应的备注以及变量的含义清晰。

3.如果能充分认识面向变量的概念并根据面向变量思想来开发帮助工具,那么可以简化很多重复编程的工作,具体比如 有这么一个例子: 对于很多输入项的web页面,如果我们新增一个输入变量,那么我们可否通过面向变量的tool将相关的逻辑层 dao 数据库都添加这个同样命名的变量呢?

现在我们就很清楚了 我们现在要做的就是面向变量的tool,前面只是大体上说了什么是面向变量编程 已经面向变量编程的好处。那么如果我们需要开发一个面向变量的tool 那我们需要仔细分析变量的特点以及能用的共性

变量一个很重要的属性是她的scope 根据scope我们可以将用到的变量进行分类,帮助我们理解。下面我就web应用将变量scope进行分类(其实同样适用于其他应用)

我们把变量分为两大类, 一类是 面向变量所关心的,他具有跨越型传递性,他这里的跨越型传递性表示该变量的所附属的值会传递到下个地方,这个地方可以是下个页面, 可以是服务器 可以是数据库中 我们称该类变量为前锋型变量。另一类是 面向对象所不关心的, 他不具有跨越型传递性, 他只是作为临时中介,比如某个页面的中的临时变量,java 方法中的临时变量. 他们不是我们所关心的,我们称这里变量为候补型变量。对于面向对象的编程我们的原则是:前锋型变量命名要很清晰,要能够联动,能串成串,不要冗余;候补型变量命名要简洁,最好不要游离在方法外,在方法中产生,在方法中消亡。

 

对于候补型变量 我个人认为可能不能也没有必要开发什么相关的tool 来简化工作,但他提醒开发人员要不断的整理自己的方法,重构自己的方法,重用别人的通用方法。

而对于前锋型变量 我认为因为他承载着有效数据,他的理解往往反映了业务,并且它是全局性的,具有跨越型的传递,所以他的重要性会更大一点,那么针对他能有很多tool 可以做。

Tool 1:前锋变量联动机

功能描述:

在页面上定义一个前锋型变量,那么可以自动在数据库中添加该字段 DAO Business层添加该变量,同时可以实现修改某个页面变量 同时数据库以及各个层都能改变该变量。

或者 在数据库层添加某个字段 对应能产生页面,DAO Business的前锋型变量.

Tool2: 前锋变量检查工具

功能描述:

可以对某个页面,某个配置文件,数据库 查找所有的前锋型变量。将这些变量陈列出来给开发人员或者管理人员来分析。

是否还有其他idea 请帮忙想想。。。

posted on 2007-11-09 15:14 linugb118 阅读(922) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

My Links

Blog Stats

常用链接

留言簿(1)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜