zoukankan      html  css  js  c++  java
  • 面向对象之封装的成本价值

    面向对象之封装的成本价值

          本章对一些具有代表性数据控件实现了自定义封装,其内容已经足够翔实精细,同样还有一些控件被封装,比如:
          •    自定义“TabControl”到“TC_”类;
          •    自定义“RichTextBox”到“RTB_”类等。
          因为它们在需求把握与设计构思上没有太多值得强调的特点,所以就不再一一列出。只要把握了自定义封装的一般理念与实现方式,在任何必要的时候随时可以对一些必要的命题实现自定义封装。
          对操作逻辑的封装有益于全面提升操作员对系统的评价,这一点是基本可以肯定的结果。实际上,我们从操作逻辑上实现控件封装只是浅层次的目的,这种封装在更 深层次上的意义是为容器、窗体及业务模式的封装打基础,它将对应用系统的构造过程产生重要的作用,这一点我们会在后续的章节中逐步看到。
          对于有经验的项目管理人员或系统设计人员来说,基于控件级的封装一般是作为系统开发的前期工作,是用户功能设计开始之前的准备工作。这一点只有在了解了数 据控件封装的意义之后才能有所理解。基础控件封装的功能性、系统性将会在极大程度上影响到后续开发的工作量,并且在项目整个寿命周期中起到作用。如果没有 对基础控件的构思与封装,后面有很多高度自动化的功能就难以实现。
          没有谁来规定你必须要封装那些控件,但只要你想遵循面向对象的设计理念,这就是一种习惯成自然的设计程式。在很多项目过程中,决策者不愿意面对基础控件封 装所消耗的成本(经济成本与时间成本),其实这是一种误区,封装会在前期消耗大量的成本,但在后期设计过程中会大大提高效率,这是其一;封装的复用价值将 会长期存在,这是其二。如果还需要更多的评价因素,可以参照封装对测试工作量(成本成分的重要组成部分)的影响。经过基础控件封装之后,至少减少测试工作 量的50%,甚至可以达到80%的水平。此时再来评价基础控件封装的意义,恐怕就会有所改变。
          “面向对象”之所以能够成为各种开发语言所共同遵循的设计理念,就是因为“对象”能够成为设计目标的客观载体,封装就是要建立起“对象”与设计目标的具体 联系。如果在使用面向对象的开发工具时舍弃了基础控件的封装,你就失去了面向对象理念的灵魂,所以也就不能在开发过程中得到本应得到的受益。
          原始设计一般是个入门的过程,基于应用的复杂性,一次性的原始设计一般很难做到完美。很多人在过程中都曾经想过“等有时间的时候再来好好解决这个问题”。 但随着时间的推移也就把这种闪光的想法付之东流了。其实这种重新感悟原始设计内涵的过程是个迅速提高编程能力的有效途径,只有不断地反思,才能从中寻求事 务的内在规律,才能最终得到具有概括性的设计模型。不在于问题的大小或重要程度,只要身体力行并能持之以恒,所能形成的积累就会越来越多,能力与水平自然 也会快速提升。
          提示:即便你使用的不是.NET开发环境,这里的需求分析、场景分析与操作逻辑的实现仍然会有实际意义,因为这些都是与语言环境无关的因素。既然同是属于 面向对象的设计理念,这些客观的实现的构思在任何面向对象的环境下都有实际意义,甚至是Web方式下仍然不失其参照价值。

  • 相关阅读:
    Centos网络时好时超时问题解决
    关于C#异常的处理
    获取Excel工作薄中Sheet页(工作表)名集合
    C# shell32.dll 的用法
    C#将Excel数据表导入SQL数据库的两种方法
    Modbus RTU通信协议详解以及与Modbus TCP通信协议之间的区别和联系
    C# 多线程、异步、同步之间的联系与区别
    在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体
    HslCommunication组件库使用说明
    C#判断dataGridView1 点击的是哪一列上的按钮
  • 原文地址:https://www.cnblogs.com/broadview/p/1439402.html
Copyright © 2011-2022 走看看