首页 > 代码库 > 对设计模式、架构、架构模式的理解

对设计模式、架构、架构模式的理解

许久以来没有完全弄懂三者的联系与区别。这两天,看了许多别人的设计和看法后,有了点自己对这三者的想法与理解(如有不妥,敬请指正):

一、基本思想

1.解耦

2.重用

 

二、三者层次关系

设计模式<架构<架构模式

 

三、三者实质

1.设计模式

  实质:代码层重用

  例:工厂模式、单例模式、适配器模式、策略模式、代理模式.etc

2.框架

  实质:

  1.框架是框架模式的值(实例),而框架模式是型。

  2.模块重用

  例:

  SSH(Java);Smarty[MVC](PHP);django[MVC](python);QT(C++);MFC;GTK;

3.框架模式:

  实质:

  1.框架模式是框架的型,而框架是框架模式的值(实例).

  2.模块重用

  例:

  MVC;MVP;MVVM;MTV;CBD;ORM;CDN.etc  

四、参考文档

  MVC到底是设计模式还是一种框架?(知乎)

    MVC是框架?是设计模式?是架构?还是……

五、遗留问题

  1.三层架构[数据访问层-业务逻辑层-界面层]与MVC架构模式[模型层-控制层-视图层]的区别?

  答:三层架构(百科)

对设计模式、架构、架构模式的理解