`
chenlang_soft
  • 浏览: 4126 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

让软件更多的理解我们

 
阅读更多

让软件更多的理解我们
 想当初我刚开始编写web程序的时候,webui的开发是一件繁琐的事情,因为没有现成的组件可以使用。那个时候,想在web页面上显示一个tree控件,几乎是不可能的;列表控件也是没有的;所以,那个时候的web界面的风格,要想到达现在类似extjs的那种效果,是不可能的。
 因为那个时候,没有extjs一类的类库,也就是说,那个时候的计算机,缺乏帮助开发者开发webui的能力。后果就是,开发者开发webui代码十分吃力。
 现在有了extjs类库,我们开发webui代码便省了很多力。那天,我的朋友给我介绍extjs让我学习,我就觉得extjs很好很好,因为我十分需要它。
 现在,我还在开发代码,很多方面,仍然会觉得十分吃力。原因和上面的例子是类似的,仍然是计算机缺乏在某些方面对我们进行更多的帮助的能力。
 今天我想和大家讨论的话题是:设计模型代码化的问题。这几年来,令我感觉吃力的就是这个问题。不过我现在还不能完全确定的问题就是:计算机在这个方面还能为我做多少帮助。
 1、计算机能不能让我继续用简洁的模型设计语言,来表达我的设计意图。
 2、计算机能不能帮助我将模型运行起来,就像extjs做的那样,我定义一个TreePanel对象,extjs就帮我创建一棵树一样。
 我很长时间在思考这个问题。思考的结果是,或许可以开发一个像extjs那样的类库,来实现设计模型的代码化。具体一些:
 1、创建一个类库,这个类库的作用是利用设计模型为输入,输出一个软件系统的ui;
 2、创建一个类库,通过这个类库提供的调用指令,在模型中可以详尽的描述模型之间的关系(模型之间的交互)。在系统运行的时候,由这个类库负责实现对关系模型的解析和调用。
 实现了上面的两个目标,会让人觉得,我的计算机理解我更多了。当我描述了一个数据模型的时候,它就会替我想到和这个数据模型关联的ui界面;当我描述了两个模型之间具备父子关系的时候,它就会替我处理可能会使用的主从联动及其他需要处理的关系;当我描述了两个数据模型之间的关系的时候,它会知道在什么时候处理这种关系,以及如何处理这种关系。
 当它理解我70%的时候,我就觉得我应该信任它了;当它理解我超过90%,我就离不开它了。
 我正盼着它出现。

分享到:
评论

相关推荐

    详细的软件架构课件,让你对软件的架构有更深入的理解

    软件架构模式或风格是设计过程中的一种指导原则,它们是对现实问题的简化模型,帮助我们更好地理解要开发的系统。例如,层次模型是一种将系统划分为多个抽象层次的架构,每个层次为上层提供服务,同时也从下层获取...

    深入理解软件构造系统(Software Build Systems)

    通过以上对软件构造系统的详细介绍,我们可以看到,构造系统的设计和实现是一个复杂的工程问题,涉及到多个层面的技术和实践。理解和掌握这些知识点对于从事软件开发工作的工程师来说是非常重要的。

    Windows下多拨叠加软件

    首先,我们要理解ADSL是一种通过电话线传输高速数据的技术,它允许用户同时进行语音通话和高速互联网接入。然而,单个ADSL连接的带宽有限,如果需要更大的带宽,多拨叠加便成为一种解决方案。 在Windows系统下,...

    3D扫描软件处理软件

    首先,让我们了解什么是3D扫描软件处理软件。3D扫描软件处理软件是一种特殊的计算机软件,用于处理和分析3D扫描数据。这种软件可以对3D扫描数据进行处理、分析和可视化,帮助用户更好地理解和利用3D扫描数据。 ...

    软件开发课件之数据字典五个定义

    软件工程结构图可以帮助我们更好地理解软件开发和维护工作的整个过程。 四、软件过程 软件过程是指软件开发和维护工作中的各个阶段和过程,包括软件定义、软件开发、软件测试、软件维护等多个方面。软件过程可以...

    jQuery手机端上拉刷新下拉加载更多页面是以html5进行开发的手机端列表刷新软件。

    在移动设备上,为了提供更好的用户体验,网页开发者经常需要实现上拉刷新(Pull-to-Refresh)和下拉加载更多(Load-More)的功能。这些功能可以让用户在浏览长列表时无需翻页,只需简单手势就能获取新内容。在这个...

    软件工程 - 理论与实践 软件工程课后习题答案

    软件工程课后习题答案旨在帮助学生更好地理解软件工程的基本概念和原理,并掌握软件开发的技术和方法。 软件开发类型 根据软件开发的对象和目的,可以将软件开发分为通用软件产品开发和定制软件产品开发。通用软件...

    软件工程期末试卷.zip

    3. **编程与算法**:虽然软件工程更多关注过程而非具体实现,但基础的编程能力和算法理解也是必不可少的。试卷可能会包含编程题,测试你的逻辑思维和问题解决能力。 4. **软件测试**:理解测试策略、编写测试用例...

    软件工程第四版

    5. **软件设计原则**:包括模块化、抽象、信息隐藏、接口分离、开闭原则等,这些原则指导我们编写易于理解和修改的代码。 6. **软件构造**:编程语言的选择、编码规范的制定以及版本控制工具的使用都是软件构造阶段...

    悟多缠论软件

    总的来说,悟多缠论软件是一款深度结合缠论理论的分析工具,它的目标是帮助交易者更好地理解和应用缠论,提高市场分析的准确性和交易决策的有效性。通过对线段、中枢等关键概念的深入理解和软件的辅助,交易者可以在...

    软件功能设计模板

    在软件开发过程中,设计文档是一个非常重要的环节,好的设计文档可以帮助开发者更好地理解软件的功能和逻辑,从而提高软件的质量和稳定性。软件功能设计模板正是为了满足这种需求而设计的,它提供了一种结构化的格式...

    步步为赢:软件测试管理全程实践

    作者希望本书能够激发读者对软件测试管理的兴趣,鼓励更多的人加入到这一领域中来,共同探讨如何提高软件测试管理的水平。 作者蔡为东是一位资深的软件测试经理,他在书中分享了自己多年的工作经验,以及对软件测试...

    软件工程期末考试试题

    通过对这些知识点的深入理解和练习,你将更好地应对软件工程期末考试。利用提供的word文档,你可以检查自己的理解,查找知识盲区,并模拟真实的考试环境进行自我评估。祝你在考试中取得优异成绩!

    多功能翻译软件,非常适合编程人员使用

    对于描述中的“一个多功能的翻译软件,方便实用”,我们可以理解为该软件不仅限于基本的文本翻译,还可能包含诸如代码片段翻译、技术文档解析、API名称转换等功能。 首先,我们来探讨一下编程人员为何需要这样的...

    fafa后三缩水软件

    通常,新版本可能会带来更快的计算速度、更多的缩水算法选择、更友好的用户界面,或者修复了原有版本中的一些问题,提升了软件的整体性能。 在实际使用过程中,用户需要注意合理设置缩水条件,避免过于保守或过于...

    软件用户操作手册模板

    本资源提供了一个软件用户操作手册模板,旨在帮助用户更好地理解和操作软件。该模板包括标题、描述、标签和部分内容四个部分。 在标题部分,提供了软件用户操作手册模板的名称,表明该手册的作用是帮助用户理解和...

    多层线性模型HLM软件

    多层线性模型的关键在于它的层次结构,通常分为两个或更多层次。第一层模型关注个体层面的随机效应,第二层模型则关注群体层面的随机效应。通过估计这些效应,HLM可以提供关于不同层次变量如何共同作用的深入见解。 ...

    软件测试资料合集

    两者在测试策略上有所不同,例如BS测试需要考虑更多浏览器环境,而CS测试则更注重客户端的稳定性和资源管理。 接着,"CS结构软件测试小结"强调了客户端软件的测试要点。这包括功能测试、界面测试、性能测试、安全...

    软件工程课后习题答案.pdf

    形式化说明技术可以帮助开发人员更好地理解和描述软件系统的需求和设计。 在使用形式化说明技术时,需要遵守一些准则。首先,应该选用释放的表示方法;其次,应该形式化,但不要过分形式化;再次,应该估算成本;...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用Java理解程序逻辑.pdf

    课程的层次深入设计让学员从初次使用技术到灵活应用,逐步深化理解和技能。 ACCP课程还强调逆向设计确保学员就业能力。课程开发者通过分析5362条招聘信息,深入访谈386家用人企业,定制行业人才需求标准简历,针对...

Global site tag (gtag.js) - Google Analytics