有关敏捷(2)
我以为所谓的架构其实强调的就是可扩展,可维护,代码可复用,可测试。而所有的设计模式也都是以此为目的的,最大化的减少代码量。可扩展,强调的就是隔离,用接口,但接口可不仅仅指那个interface,class,abstract都可以,总之,就是一切可以继承的类,让这些接口,去替代那些异于变化的类。举个例子,说,就是比如
有几种不同权限的用户,那么我要在一个页面,提供不同的操作怎么办呢,这时候,有接口就好办了,先把操作抽象出来,利用工厂模式,就可以实现了,有人说一样操作见一个页面呗,可是我们应该想到,权限是很多很多的,一样见一个页面,你的维护量该有多大,页面的一点改动,你可能要改10几个页面。这也严重违反了,敏捷,敏捷是什么,就是快速开发,快速测试,快速部署,快速维护,一切以节约成本,达到利益最大化为目的。以前看到过一篇文章说,架构不应该按项目分,我觉的,这个不多,按项目分,是为了更好的模块好,更好的单元测试,更好的维护,比如我要测试bll层,那我要引入ui的那堆东西,有什么用,在比如,我修改bll层,则我只需更新bll层的dll,而按文件夹分,则ui,bll一起部署,要玩完一起玩完。