2008/07/20 | [原创]捧读大话,我来大话,哈哈
类别(技术研讨) | 评论(0) | 阅读(96) | 发表于 12:13

看了(应该说在看)大话设计模式(中文版)一书,感觉收获良多

原来抽象之极的名词通过书内生活故事的阐述,许多难以理解的名词如封装、多态、继承等都有了新的认识与理解,知道了设计模式的归纳是为了设计出更好更强壮的优秀代码,原来设计代码也是一种艺术呀!

我将继续学习下去,并尝试仿照书中例子,来写一下自己学习的AS3类。

注:将书中其它语言要求改成AS3语言任务。

第一个任务:用AS3实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。

新手特别需要注意的是:
1、命名尽量规范,易读易记
2、优化代码,减少计算机运算的无用功
3、考虑全面,尽量避免出现错误

所有编程初学者都会有的问题,就是碰到问题就直觉地用计算机能够理解的逻辑来描述和表达待解决的问题及具体的求解过程,这其实是用计算机的方式去思考,比如计算器这个程序,先要求输入两个数和运算符号,然后根据运算符号判断选择如何运算,得到结果。这本身没有错,但这样的思维却使得我们的程序只为满足实现当前的需求,程序不容易维护,不容易扩展,更不容易复用。从而达不到高质量代码的要求。

如果用印刷术与编程类比的话,我们最不希望看到的就是印版重刻。
但对于最初的印刷术,确实是如果要加字,版面重刻;如果要减字,版面重刻;如果要修改,
更要重刻;即使印制很顺利,但印完以后,此版一般就束之高阁或弃之不用。
我们不遵循设计模式所编写的代码往往也是这个特点!
1、他人或自己二次维护都很难,即使有注释;2、增加功能,进行扩展很难,需要大面积重写
;3、难以适应足够多的情况,适合性差,灵活性差。

但如果是活字印刷术,就大大的不同了。
第一,要改,只需更改要改之字,此为可维护;第二,这些字并非用完这次就无用,完全可以
在后来的印刷中重复使用,此及可复用;第三,书稿若要加字,只需另刻字加入即可,这是可扩展;第四,字的排列其实可能是竖排、或是横排,此时只需将活字移动就可做到满足排列需求,此乃灵活性好。
我们的代码如能像活字制版一样,可维护、可复用、可扩展、灵活性好,那就是当之无愧的优
秀代码,艺术代码了。

面向对象的编程是经历实践得到的解决方法。
 面向对象的分析设计编程思想,是考虑通过封装、继承、多态把程序的耦合度降低,用设计
模式使得程序更加的灵活,容易修改和维护,并且易于复用。

认识一:复用不是复制
有人说初级程序员的工作就是Ctrl+C和Ctrl+V,这其实是非常不好的习惯。说到这里,以前在
制作课件之时,虽然自己很重视动画的交互性,但对编程部分来说,还是一贯的复制利用以前的课件代码,经常感觉很枯燥却也无奈。后来接触到类,感受到类的优势,却不得要领。
编程有一原则,就是用尽可能的办法却避免重复。以计算器代码为例,有哪些是和控制台无关
的,而只是和计算器有关的?即如何将计算和显示分开。

这里又想到,网友远方的祝福(是个高手)经常提到将代码与显示分开,看来就是提醒我们要制取课件功能为代码类,而界面显示是另一部分。

今天先到此......如果哪位朋友有兴趣了解此书,可联系蚕子或到网上查询下载。

0

评论Comments