面向对象软件设计原则(一) —— 引子(http://www.cnblogs.com/ldcsaa/archive/2012/02/12/2347082.html)
2012-02-17 09:40
519 查看
“面向对象软件设计”这个术语及其相关话题对于很多开发人员来说已经是耳熟能详了,甚至听腻了。但是,对不住各位,为了吸引眼球和引起“异性”注意,本座还是落入俗套选择这个热门话题作为本博客的开张炒作篇目。请见谅,也希望各位看官能放下架子,略读一下本系列的所有文章再喷,可赞可弹可BS,但勿吐槽,毕竟不想因为本座的文字噪音降低看官的SZ,伤不起呀!!
言归正传,在如何阐述“面向对象软件设计”这个问题上,本座琢磨了良久,毕竟命题宽泛,表达方式和层次多样。最终决定用相对通俗,以本座的读书和工作经历,在中等层次上进行阐述。
本座从十年多前走出校门之时就确信软件架构(设计)、数据结构和算法是软件的根本核心,也是衡量个人技术水平的终极标准。因此,从一开始本座就特别关注软件设计方面的知识,本座读过的三本书恰巧体现了软件设计开发的几个方面:
编程开发:《Design Patterns Elements of Reusable Object-Oriented Software》
软件设计:《Agile Software Development: Principles, Patterns, and Practices》
系统架构:《Pattern-Oriented Software Architecture》
若从编程开发的层次谈软件设计不够全面,有只见树木不见森林之嫌;而从系统架构的层次去谈则显得过于专业,受众不多,会失去大部分读者。因此本系列文章通过本座多年前阅读:《Agile Software Development》的笔记整理和心得体会来阐述面向对象软件设计原则。
最后,本座要表达一个重要的观点:任何知识的学习过程都要经历“守”(依葫芦画瓢,获得感觉)、“破”(掌握规律,懂得比较、选择)、“离”(突破条框,自成一派,无招胜有招)三个阶段,在学习的过程中不要墨守成规,需要结合实际情况不断思考和提炼知识,突破自己。
自信来源于哪里?来源于掌握足够多的知识。
求知欲望来源于哪里?来源于未掌握的知识。知识就像一个圆圈,掌握知识越多圆圈越大,圆圈越大则圈外的世界也越大。
言归正传,在如何阐述“面向对象软件设计”这个问题上,本座琢磨了良久,毕竟命题宽泛,表达方式和层次多样。最终决定用相对通俗,以本座的读书和工作经历,在中等层次上进行阐述。
本座从十年多前走出校门之时就确信软件架构(设计)、数据结构和算法是软件的根本核心,也是衡量个人技术水平的终极标准。因此,从一开始本座就特别关注软件设计方面的知识,本座读过的三本书恰巧体现了软件设计开发的几个方面:
编程开发:《Design Patterns Elements of Reusable Object-Oriented Software》
软件设计:《Agile Software Development: Principles, Patterns, and Practices》
系统架构:《Pattern-Oriented Software Architecture》
若从编程开发的层次谈软件设计不够全面,有只见树木不见森林之嫌;而从系统架构的层次去谈则显得过于专业,受众不多,会失去大部分读者。因此本系列文章通过本座多年前阅读:《Agile Software Development》的笔记整理和心得体会来阐述面向对象软件设计原则。
最后,本座要表达一个重要的观点:任何知识的学习过程都要经历“守”(依葫芦画瓢,获得感觉)、“破”(掌握规律,懂得比较、选择)、“离”(突破条框,自成一派,无招胜有招)三个阶段,在学习的过程中不要墨守成规,需要结合实际情况不断思考和提炼知识,突破自己。
自信来源于哪里?来源于掌握足够多的知识。
求知欲望来源于哪里?来源于未掌握的知识。知识就像一个圆圈,掌握知识越多圆圈越大,圆圈越大则圈外的世界也越大。
相关文章推荐
- PHP 杂谈《重构-改善既有代码的设计》之二 对象之间搬移特性【链接:http://www.cnblogs.com/baochuan/archive/2012/04/01/2427199.html】
- JavaScript对象模型-执行模型--摘自http://www.cnblogs.com/RicCC/archive/2008/02/15/javascript-object-model-execution-model.html
- JavaScript对象模型(http://www.cnblogs.com/RicCC/archive/2008/02/15/javascript-object-model-execution-model.html)
- 使用SqlDataAdapter对象获取数据(转自:http://www.cnblogs.com/zyh-nhy/archive/2009/01/07/1371177.html)
- 最优化javascript自定义对象(转自:http://www.cnblogs.com/QiuYun/archive/2007/03/22/684523.html)
- WINDOWS API ——CREATEMUTEX——创建互斥对象 http://www.cnblogs.com/wind-net/archive/2012/08/29/2661702.html
- 面向对象的三个基本特征(讲解)——转自http://frances.cnblogs.com/archive/2006/03/30/362847.html
- java 虚拟机访问对象的两种机制到底有什区别 http://www.cnblogs.com/h2-database/archive/2012/06/27/2572498.html
- SpringMVC @RequestBody接收Json对象字符串--http://www.cnblogs.com/quanyongan/archive/2013/04/16/3024741.html
- WPF企业内训全程实录(下) 转载 http://www.cnblogs.com/KnightsWarrior/archive/2010/12/09/1900832.html
- http://www.cnblogs.com/shanyou/archive/2008/09/15/1291264.html
- php 程序员,转载自: http://www.cnblogs.com/chinacode/archive/2010/09/10/1823342.html
- 转:C#的Timer 原网址:http://www.cnblogs.com/OpenCoder/archive/2010/02/23/1672043.html
- js字符串函数 [http://www.cnblogs.com/qfb620/archive/2011/07/28/2119799.html]
- http://www.cnblogs.com/MaxWoods/archive/2007/04/07/704038.html
- <转载>C#与JAVA的区别 http://www.cnblogs.com/Asa-Zhu/archive/2012/11/08/2761114.html
- PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数【链接:http://www.cnblogs.com/baochuan/archive/2012/03/31/2425441.html】
- Windows Phone 7 MVVM模式数据绑定和传递参数 from:http://www.cnblogs.com/linzheng/archive/2011/03/27/1997086.html
- C++强大背后(转自http://www.cnblogs.com/miloyip/archive/2010/09/17/behind_cplusplus.html)
- _beginthread http://www.cnblogs.com/whiteyun/archive/2011/06/02/2067742.html