设计模式、框架与架构小结

    最近做项目用的是MVC框架,对这个倒是不陌生,但是隐约记得在学设计模式的时候听过MVC设计模式,到底这两个是不是一种东西呢?找了半天又发现了一个被忽略的概念:“架构”,这三个概念在软件设计中很常见,但是对它们的理解却模棱两可,因此今天就先暂时总结一下它们,与事实不符的欢迎大家纠正。

1.架构(Architecture)

        架构又称为体系结构,是一个软件系统从整体到部分的最高层次的划分。它是建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。

       通常在一个开发小组中,最有经验的程序员会负责一些架构方面的工作。架构师是一个比较虚的职位,但是“每个好架构师都是一位出色的程序员”。

       类比于建筑,架构就相当于要建造的建筑物是宫殿还是城墙,因为二者用到的可不是一套设计结构,它直接决定了建筑物的定位。

2.框架(Framework)

       框架又称为应用架构,可认为是架构在特定领域下的应用,即在特定领域中基于架构的可重用设计。框架一般是通用的且不涉及到逻辑业务和界面显示,它通常定义了应用体系的整体结构类和对象的关系等设计参数,以便于具体应用实现者能集中精力于应用本身的特定细节。框架主要记录软件应用中共同的设计决策,强调设计复用,因此框架设计中必然要使用设计模式。利用现成的框架,你所做的就是填写所需代码,完成一个应用程序项目,比较常用的例子有MVC

        类比于建筑,框架就相当于在建造一栋房子时,设计图纸中规划出的房子的整体结构。

3.设计模式(Design Pattern

       设计模式是涉及到代码层的,为了实现代码复用一些前辈们将代码设计经验总结下来并经过大量的实践验证,其根本目的是为了代码复用,增加可维护性。它围绕几个原则展开,并在一定程度上实现这些原则,提高我们的代码质量。程序员们所熟知的HeadFirst、大话设计模式中都有很好的分类总结。

         类比于建筑,设计模式相当于在建造一栋房子时,针对大厅或者阳台等部分细节的具体设计。

       设计模式和框架可以说是架构之内的东西,因为一个架构中都会有设计模式和框架。但是我们不能说是某某架构的设计模式云云。显然设计模式也不同于框架(经常混淆在一起),因为它更加通用,是设计思想和经验的总结。综上所述架构是最高层的抽象思想,决定了软件的命运;框架是架构在某方面的实际应用;设计模式是对一些细节的处理技巧。它们没有大小之分,主要的是应用领域的差异。

 

 

 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值