首先给出的明确定义是:软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。是通过总结重复错误或其他问题归纳出的一种模式。
也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用,其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。设计模式一般是有固定模板的,我们可以在此基础上设计出我们所需要的模式,其次还给我们提供了设计目标。总的来说我们可以通过提供的设计模式来设计我们的我们的代码,利用好设计模式这种方式,我们将会使代码的书写,功能的实现更加优化完整,正确率更高。
设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。
在此之前,已有人们归纳出了常用的153个设计模式,每一个设计模式都包括了三方面(前提条件,目标问题,解决方案)。
其中这些设计模式有被分为三类:
创作型模式:单例模式,工厂模式,原型模式,建造者模式等
结构型模式:适配器模式,桥接模式,组合模式,装饰模式等
行为型模式:命令模式,迭代模式,解释模式,备忘录模式,中介者模式等
在我的理解上:从模式名我们就可以大抵了解这些模式分类,创作型是给了各种与创作相关的设计模式,如工厂创作,建造这中;结构型就是你所实现的功能是具有一种结构,如某些建筑物模式,物品的结构型模式。而行为模式就是人类发出的某种行为而总结出来的,如命令模式,解释,中介者,充当某一种人物行为。
比如详细的说一些创作型模式:
工厂模式是一种创建型模式,它提供了一种创建对象的最佳方式,而不需要指定创建对象的确切类。单例模式是一种创建型模式,它保证一个类只有一个实例,并提供一个访问该实例的全局点。适配器模式是一种结构型模式,它允许将不兼容对象包装在适配器中,以便它们可以在系统中协同工作。装饰器模式是一种结构型模式,它允许向对象添加行为而不影响其原始类别。代理模式是一种结构型模式,它允许通过使用代理对象来控制对其他对象的访问。
每一种模式都有其特点及其作用。
在者就是设计模式的优点:
首先因为他是众多专家以及技术人员共同认为且总结出来的,我们大多数人都能理解和交流。其次模式设计可由我们所需要的优化,修改,很灵活。其次是对面向对象这个过程的深入理解,坐后边是能调高我们的创作效率了。
以上就是我所认识到的设计模式