从上世纪 90 年代中期开始,微软专业顾问 Jezz 就积极投身于产品研发领域,他曾在各种研究机构、独立软件开发商和全球系统集成商中从事研发工作。他已经在微软担任专业顾问逾 6 年,成绩斐然,他探索出了一系列实现和组织可重用部件与知识、自动化任务引导的手段和方法,帮助用户实现自己的定制诉求。
上述的这些手段和方法,总结起来就是我们通常所说的“软件工厂”。本文就软件工厂相关的概念和意义进行了深入的探讨,包括软件工厂的定义,如何构建软件工厂,使用软件工厂应用与开发与我们目前的软件开发过程有何不同,软件工厂所针对的用户以及给用户带来的价值等。值得注意的是,在采访中 Jezz 还阐述了对 DSL(领域特定语言)的理解,比如他说:
而 DSL,就像是给你一块巨大的白板,告诉你“把你的想法画出来,标明各个部件,并描述其属性,让我们明白它们之间的关系!”无论你使用哪种语言、什么词汇,只要将问题描述清楚就万事大吉了。至于使用文本型语言,还是常见的图表式,都没有关系。可见,DSL 的好处在于,它赋予你用自己的语言表述事物的能力,没有粒度更细、更关注细节的苛刻语法体系。
本文对想理解软件工厂的来龙去脉,以及和传统开发方法之间的关系,以及如何用 DSL 去描述软件工厂的开发人员和架构师非常有帮助。
查看全文: Jezz Santos 谈软件工厂和 DSL
评论