1、关于设计模式

来源:互联网 发布:阳春政府网络问政 编辑:程序博客网 时间:2024/05/17 23:24

设计模式划分为三种类型:

        1、创建型模式:为你创建的对象而不是让你直接实例化对象,在给定情况下决定创建哪些必须的对象时,这一做法赋予程序更多的灵活性;

        2、结构型模式:有助于你把多组对象组合成更大型的结构,例如复杂的用户界面或是会计数据等;

        3、行为型模式:帮助你定义系统中对象之间的通行,以及确定复杂程序中流程的控制方式。

 

《Design Patterns》的建议:

        1、针对接口编程而非针对实现编程:应该定义抽象类或是接口作为类继承结构的顶点,该抽象类或接口不实现方法,而只是简单定义了该类支持的方法;

        2、优先使用组合而非继承

 

框架和设计模式的区别
        有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式。实际上它们完全是不同的概念。
        框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
       框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
       框架模式有哪些?
              MVC、MTV、MVP、CBD、ORM等等;
       框架有哪些?
              C++语言的QT、MFC、gtk;
              Java语言的SSH 、SSI
              php语言的 smarty(MVC模式);
              python语言的django(MTV模式)等等
       设计模式有哪些?
              工厂模式、适配器模式、策略模式等等
       简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

 

0 0
原创粉丝点击