比如说开发一个网站,怎么来确定系统的架构?我感觉我现在是为了3层架构而3层架构。
我在网上找了一些建议:
便于维护和以后功能的扩展
提高工作效率,代码复用,各做各自擅长的工作这些分层架构的特点我是知道一点,但是凡是总有个过程,现在我们在开发项目的时候好像
在对需求仔细分析前就确定:“这次我们用三层架构来开发吧。“ 有点迷茫,希望大家都来说几句

解决方案 »

  1.   

    对任何来说,拼凑多了,给足够长时间,也能凑出一个软件。你所说的那些“建议”,对于只是想学点底层知识的人,都是看上去无害的建议。比较高效率开发既需要应激反应似地做出时间相关的计划,又需要有设计出接口协议的功底做保障。一言难尽。简单来说几条:1. 从你要的用户验收测试和“收入”出发,不要从学习出发。
    2. 想好目标,保证每半天(对个人来说保证每30分钟)所干的事情其目标都是不一样的,不要总是重复。如果一个事情没有干完,不要干下一个事情,可以请大家都来帮你完成这个事情。
    3. 只干必要的事情,不要随便重写已经可以用的东西。就算它风格很烂,效率不是最高,也无需重写。
    4. 随时回归测试写过的一切。如果不进行测试,说明那些东西删除了也没有什么,就可以注释掉或者删除掉,以免带来质量问题。
    5. 把握面向对象设计的大局。
    6. 对于界面MVC设计、通讯、DAL等通用子系统方面,要使用中间件产品(包括自己开发的产品),不要为了单个的应用程序而重新组织。
      

  2.   

    对于界面MVC设计  -->  对于界面MVC适配
      

  3.   

    看项目的规模、复用性、重构等方面,
    如果项目小,甚至可以考虑不用三层。
    项目大的时候也分情况,比如数据库要不要移植,界面要不要b/s换成c/s等。
      

  4.   

    第一,需要承认国内现在是比较承认三层架构的,比较容易上手,开发人员也容易理解,这也是为什么需求还没弄清楚就用三层架构的原因。
    第二,国内项目,外包和网站居多,确实这种项目除了小的软件可以不考虑架构外剩下的用三层架构都能解决。
    第三,只能说国内的东西涉及到其它架构的公司少之又少。
    如果你想学习架构方面的东西,到Wikipedia去搜索Architecture就可以看到架构模式列表。