编程是一种“组合的艺术”
来源:互联网 发布:戴森吹风机 知乎 编辑:程序博客网 时间:2024/04/28 03:36
编程是一种“组合的艺术”
——WPF实例分析
金旭亮
有这么一句名言——政治是一种妥协的艺术。这一规律同样适用于软件技术。就我个人的观点,软件开发在一定意义上是一种“组合的艺术”,优秀的软件工程师类似于优秀的厨师,能将一些常见的原料变成一盘色香味俱全的美味佳肴。
为何说编程是一种“组合的艺术”?且让我慢慢道来。
众所周知,在软件开发过程中,每名软件工程师都要掌握大量的编程知识,比如如何访问数据库,如何控制线程的推进顺序等,掌握这些知识是顺利进行开发的必要条件。然而,仅有这些就够了吗?仅仅掌握了这些编程知识就足以开发出优秀的软件?
在我看来,开发者还需要掌握“组合”的艺术,你必须知道在某个完成特定功能的程序中,你可以组合哪些基本的构造块,而这些基本的构造块又以何种方式优雅地组合在一起,构成一个有机的整体。
基本的构造块不仅仅指可以直接拿来复用的软件组件(或者是SOA中的Service),还包括可以在不同项目间复用的典型代码(比如如何将一个double类型的数字保留两位小数的典型代码段)、技术解决方案(比如各种设计模式)或软件架构(比如成熟的多层分布式组件化系统框架、基于管道的系统架构)等等。
我喜欢将软件开发中用到的构造块称为“七巧板”,而每一个成形的程序都是用这些七巧板拼出的图形。
图 1 七巧板
如何开发出好的软件,不取决于你基于什么平台,使用什么技术,甚至也不完全取决于你的技术能力和对技术内幕的深刻把握,而取决于你是如何组合这些基本构造块的。
在某项软件技术的学习过程中,你实际上完成的是“形成软件构造块”的任务,而在软件项目实际开发过程中,你实际上完成的是“使用现有软件构造块”拼“七巧板”的过程。
这个有效并且成功地“拼图”的过程,就是我们软件工程理论中有关软件开发过程与方法部分的内容。
明了这些思想,能指导我们更有效地学习软件技术。
自学的过程,就是“形成软件构造块”的过程。
开发的过程,就是“将软件构造块”组合为完成某一特定功能的程序的过程。
- 编程是一种“组合的艺术”
- 编程是一种“组合的艺术”
- 编程是一种艺术,做优秀的代码工匠--读《编程匠艺》有感
- :婚姻是一种妥协的艺术
- 思念是一种艺术
- 管理是一种艺术
- 妥协是一种艺术
- “分而治之”是一种艺术
- 代码是一种艺术
- 平和是一种修炼和一种人生的艺术
- 编程就是一种艺术
- 编程,就是一种艺术
- 架构是一种平衡艺术
- 领导力是一种艺术
- 判断可能人选的销售天分是一种艺术
- 重提书法是一种有根的艺术
- 组合语言的艺术
- UML 学习笔记------ 建模是一种艺术
- 惶恐
- 如何隐藏DLL的导出接口
- RPM 的介绍和应用
- 裸女 戴斯蒙德•莫里斯
- 《羊皮卷》誓言之七
- 编程是一种“组合的艺术”
- 《羊皮卷》誓言之五
- ParallaxMapping
- ASP.Net Quick Start
- 各窗口间相互操作(Frame Target) 访问
- 判断一个字符串在另一个字符串中出现的次数
- 状态栏的控制与自定义
- ora-27054问题的解决
- 怎样让自己的域名在最短的时间内被各大搜索引擎收录