A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄雄斌 中级黑马   /  2012-4-6 10:05  /  1379 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在应用程序开发中,良好的命名规范 是为了规范代码,让代码更加容易维护和阅读。同样,设计模式是一种软件设计方法,也是为了使开发出来的应用程序能够更好的使用和维护。在应用程序设计中,维护成本在软件设计占70%或更高,所以良好的软件结构能够为后期开发和维护提供便利。

1>什么是设计模式
   模式,就是一种规范,在新华字典上关于模式的解释如下:
         法式、规范,标准。例如,模范、模式、楷模、模型、模本、模压。
         仿效:模仿(亦作“摹仿”)。模拟(亦作“摹拟”)。模写。
   那么,所谓的设计模式,就是软件设计的一种范烈。虽然定义上看上去非常简单,但是实际上初学者是非常难以理解的。设计模式是一项长期的学习,需要不停的使用和学习才能掌握。

2>为什么要使用设计模式
   设计模式是一种编码的范烈。在软件开发过程中,不同的人对类的设计不同,命名的方法也不同,在类的结构上的设计业不同,通常会导致代码混乱,难以阅读和难以维护,以至于上  个世纪出现了所谓的“软件危机”,于是人们在软件开发的经验中找到了一种模式。所谓的模式,就是一种规律、规范。例如现代的教育模式,大家都会从小学开始,慢慢的读到大学,是一种经典的模式。在软件的开发过程中,也存在这样的模式,就是通常情况下所说的设计模式。
   设计模式让人们在软件设计中有据可循。例如在开发一套网站管理系统时,首先系统设计师要对网站进行需求分析。在需求分析之后,就需要规定接口,来说明开发中类的规范。在规范制定好以后,开发人员需要按照规范来开发软件,并按照统一的类结构或风格编写代码。
   设计模式基本上规定了类的结构,规定了类是怎样派生,以及怎样应用的。常用有28种设计模式,经常使用的成熟的设计模式有9种。设计模式的学习死一个长期的过程。初学者在理论上很难理解设计模式,是因为如果没有一定的编码基础,是很难理解为何要使用设计模式的,因为很短的代码段,基本上难以涉及到很多人开发,以及在市场上考验的经验。

3>改装现有类
   使用设计模式,就需要对现有的代码不停的重构。例如不规范的命名,以及在实际项目过程中遇到的类的结构设计错误等,都需要改装。改装现有类并不是纯属为了类的“好看”,而是为了在实际的运用过程中,能够胜任新的系统要求,并且能够比原有的结构有很好的扩展能力,为了方便维护企业开发成本。例如,在设计一个制造汽车的过程,设计了一个汽车类。示例代码如下所示。
  1. class car                         //设计汽车类
  2. {
  3.    string CarNumber;                //设计汽车编号
  4.   string CarType;                    //设计汽车类型
  5.   public string ShowCar()        //显示汽车方法
  6.   {
  7.       return "this is a car";
  8.     }
  9. }
  10. class Program                             //出程序类
  11. {
  12.    static void Main(stirng [] args) //入口方法
  13.   {
  14.        car.car=new car();             //创建一个新的对象
  15.     car.ShowCar();                  //使用对象的方法
  16.   }
  17. }
复制代码
在上述代码中,在同一个文件类声明了一个汽车类class car。在Main方法中,创建了一个car对象,并使用对象car的showcar方法。从上述代码中可以看出,这其中有几个非常不好的习惯,归纳如下所示。
     1>命名没有按照规范,看起来没有层次。
     2>命名中的字段没有按照规范。
     3>命名中的字段推荐使用属性的方法。
     4>类与使用对象的方法在同一个文件中。
  上面的习惯,最后一条习惯可能会有疑问,会在想为何不能放在同一个文件中。其实,在语法上市没有错误的,不好的是,每当汽车类需要更改时,开发人员就要重新修改car类并重新编译住方法,这样的效率非常低。就好像做了一个网站,更新一个网页就必须更新整个网站一样。这样成本是非常高,而且不利于维护的。最好的做法是将类封装在类库中,存储在“后台”,在“前台”中创建类的对象,而且更新细节的时候,只需要更新类库即可。
   在设计模式的学习和使用过程中,是没有最好的设计模式的。而另一方面,虽然没有最好的设计模式,但是有最适合的设计模式。设计模式的熟练使用,通常要求开发人员有比较熟练的编码以及较好的编码习惯,并且在项目开发上有一定的经验。

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马