Introduction of 《 The Architecture of Open Source Applications 》

来源:互联网 发布:火眼金睛软件怎么安装 编辑:程序博客网 时间:2024/05/16 14:15

Carpentry is an exacting craft, and people can spend their entire lives learning how to do it well. But carpentry is not architecture: if we step back from pitch boards and miter joints, buildings as a whole must be designed, and doing that is as much an art as it is a craft or science.

 

木工是一个要求严格的工艺。人们可以用尽一生来学习如何把它做得很好。但 木工不是架构。如果我们后退一步,从用木板搭帐篷和关键部位的连接来看。建筑物要像一个整体被设计。这样做既是一门艺术也是一门科学。

 

Programming is also an exacting craft, and people can spend their entire lives learning how to do it well. But programming is not software architecture. Many programmers spend years thinking about (or wrestling with) larger design issues: Should this application be extensible? If so, should that be done by providing a scripting interface, through some sort of plugin mechanism, or in some other way entirely? What should be done by the client, what should be left to the server, and is "client-server" even a useful way to think about this application? These are not programming questions, any more than where to put the stairs is a question of carpentry.

 

编程同样也是一门要求严格的工艺。并且人们可以用尽一生来学习如何把它做得很好。但编程不是软件架构。许多程序员花费数年的时间思考(或斟酌)更大的设计问题:这个应用可以被扩展吗?如果是这样,应该来做一个脚本界面,通过提供某种形式的插件机制,或用其他方法来完全吗?,客户端应该是个什么样子,应该在服务器端做什么,关于这个应用程序“客户端-服务器” 是一个很好的实现方式吗?这些都不是编程的问题.