架构是一种平衡艺术

   突然明白:架构是一种平衡。

  架构师要做的只是平衡,平衡软件项目相关的所有因素。这些因素包含项目的需求(性能需求,扩展性需求)、项目资源(时间,金钱,人员,硬件)、技术等等。

  举一例:你要为一项目选择要使用的语言,.net还是java。虽然大多数情况下很容易决定,但你要考虑的因素不少。如:项目组成员擅长语言、项目的时间、项目需求等等。你所要做的只是找出平衡点。

  再一例:项目是使用c/s,还是b/s,两层还是多层。c/s虽然客户端功能强大,但需要部署;b/s部署方便,但功能受限;多层扩展性好,复用性好,但工程量比两层大,同时也意味者需要更多的时间,金钱,人员。这些就是你要平衡的因素。

  曾经听过一个例子:一公司架构十分混乱,公司使用了两种数据库sqlserver、 db2;既有VF的软件,又有.net的软件;通讯方式既有Webservice又有socket;服务器既有windows又有liunx;但是但你仔细分析了公司的需求和公司遗留软件的情况,你会发现这个混乱架构竟然是最合适的。

   现在新技术不断出现,一个项目使用的技术也是一个关键,比如:是自己写个简单架构,还是使用现有的spring等;是使用Hibernat(NHibernat)来访问数据库,还是自己写个sqlhelp来访问数据库;是用socket对接,还是webservice;这些因素可能会直接决定项目的成败,而要作出选择需要考虑多方面:项目的大小、遗留的软件、人员对这些技术的熟悉程度、时间、需求等等。你需要找到最佳平衡点。

   很多情况下,会出现两难的选择,那时就需要你综合所有的因素,找出最佳的平衡点。

   没有完美的架构,只有你平衡了所有因素,你就找到了最合适的架构。

   找到一个最佳的平衡点,需求长期的经验和你对各种架构的了解。

   架构是一种平衡艺术,平衡时间,平衡需求,平衡资源,平衡....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值