调侃三层设计.有错吗?

来源:互联网 发布:写脚本的软件 编辑:程序博客网 时间:2024/04/18 17:12

请不要喷击三层设计!

前几天有同事说在CSDN上看到有人在批评三层结构.说出很多三层不合理的地方.比方说,数据库突然要加个字段.我们要改,实体,数据访问层,业务层,界面层;很是麻烦.

    其实我也是有过同样的经历的.但是我认为这不是三层的错,因为任何一个技术或是一个架构或是一个设计模式.都是有它优秀的一面.但也都有一定的局限性.因为任何技术也都不可能十全十美的.因为人无完人吗?所以对于技术也是这样的.

 

    我举个例子:比方说,客户的你想上去天空转转.我给你提供几个上天的工具.
1.航空客机
2.武装直升机
3.小型喷气机
4.宇宙飞船

客户的你会选择哪个呢?

1.客机,飞行的路线是固定的,不自由.但比较安全.
2.武装,这东西要是在中国上空飞,要小心解放军叔叔打鸟.把你轰下来.要不然,这当然是比客机要自由点,可以随便飞.
3.喷气机,好吧,假如你搞到了飞机驾驶证,可以开这种飞机飞来飞去,但也要小心别飞到伊拉客,否则会被那边的人打下来的.因为你飞出界了.
4.宇宙飞船,这个却实很强大.也很自由.不管你飞到哪都行.也不怕被人家打下来.但为此你要付出几千万美金.你认为值吗?

现在看来兜了一圈,都不知道做哪个比较好.是吧!问题出在我们对客户的使用场景不了解.需求分析不够.
其实这在我们做网站建设开发的很常见的.客户往往告诉你.我现在需要一个电子商务网站.或是一个很模糊,没边界的东西.如果你不能把客户的真正需求找出来分析对了.就给他提供飞行工具.很显然你能提供对方案的概率不会大于中几次福彩吧.

所以我们因为去检讨我们的需求工作为什么没有做好.而不是去检讨客户加字段,减字段的问题.如果需求做得比较足够的对的话,你就可以选择一个比较适合你客户目前需要的设计框架.而不用去拘泥于什么三层四层五层的架构.最后再一次强调一下.当你的需求都不清楚时,不要去急着要使用什么架构或是设计模式或是XXX框架.因为神都救不了你.