-
Notifications
You must be signed in to change notification settings - Fork 386
Description
该页面上的引言使用的标点符号全是英文的,我重新排版了一下。
DRY——别重复你的行为!这是一名优秀的开发人员在开发一个软件时重要的概念之一。我们从简单的方法、类以及模块开始实现这个原则。那么开发一个全新的WEB应用程序呢?当开发企业级应用系统时,我们软件开发人员有相似的需求。
企业级网站应用程序需要登入网页,用户/角色管理这些基础设施,用户/应用程序配置管理,多语言...诸如此类的。同样地,一个高质量且大型的软件会做的最佳实践,像是分层架构(Layered Architecture),领域驱动设计(DDD,Domain Driven Design),依赖注入(DI,Dependency Injection)。同样地,我们使用对象关系映射工具(ORM,Object-replational Mapping),数据库迁移(Database Migration),日志(Logging)... 等等。当涉及到用户界面时(UI),也没有太大的区别。
启动一个全新的企业级网站应用程序是一个艰难的工作。这是因为所有的应用程序都会有一些相同且重复的任务,我们重复做着相同的工作。许多公司会针对这些重复的任务来开发他们专属的应用程序框架(Application Framework)或是类库(Library),来避免重复开发相同的东西。而其它公司则是复制一些现存的应用程序某部份的程序代码到新网站上,并且会预备好一个开发的起点(start point)。第一个方法在你的公司足够大且有时间开发那些框架/类库的时候非常好用。
作为一个软件架构师,我也为我的公司开发了一些框架。但是,仍有些地方让我感到不太舒服:许多公司重复相同的任务。如果我可以分享更多知识/技术,那么这些重复任务就会减少吗?如果DRY理论是套用到全部而不是只有部份项目上或是某些公司上呢?这听起来就像个乌托邦(注:比喻一个理想中完美的世界),但我认为现在就可以开始!