Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

国家结构形式与软件架构

  国家的结构形式大致可以分为单一制和复合制两大类。当今世界上的复合制国家几乎都是联邦制(虽然联邦制的基数也不多),及其少数的邦联制国家不在本次讨论的范围内。软件架构和国家结构形式一样,它们也有类似国家结构形式的单一制与联邦制的差异。
  单一制的国家有一个庞大的国家机器,依靠中央力量来稳定各个地区的稳定。联邦制也有国家机器,只是它对内的作用比较小,主要是用于对外的决策。单一制国家的每个地区是强耦合的,每个区域的设施并不完备,它们之间存在强依赖。而联邦制国家的每一个区域都是可以视为一个小的单一制国家,它们都是可以独立运行的。
  仔细看的话就会发现单一制和联邦制并不是对等关系。联邦制实际上是在单一制之外包了一层。多个单一制国家,如果它们的契合度足够高(比如有共同的语言,共同的历史,共同的文化),就可以通过联邦制的纽带就它们合并起来。
  当今世界上,大部分的国家都是单一制的,只有少数国家是联邦制的,其其实软件架构也是。单一制的优点是只有一个权力中枢,执行力强。而且一切都是共享的,只要中央的决策正确就可以让资源发挥最大效用。所以单一制的软件架构可以充分利用资源,并且跑得更快。但是单一制过于依赖中央,最终会变得很臃肿,不容易维护。而联邦制的架构下各个模块的自由度极高,非常容易扩展和维护。
  我觉得,单一制更接近神,联邦制更接近人。如果一个项目的开发人员不多并且每个人都是大神,那就可以采取单一制。如果是一大群人开发一个项目,并且团队水平很普通就应该采取联邦制。当然,这也不是绝对的,具体选型还和项目本身有关。业务变更频繁就应该考虑可维护性,那么就应该选择联邦制。对性能的要求很高的项目就应该使用单一制。
网名:
54.196.182.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^