明天的晨会,我需要分享一个知识点给其他同学,题目是《项目中的常用的设计模式》
以下是我的演讲稿
---------------------------------------------------------------------------------------------------------------------------------
今天我分享的知识点是项目中常用的一些设计模式,那么什么是设计模式呢?
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用它是为了代码可复用性、让代码更容易被他人理解和保证代码可靠性。
从我自己的理解来说,就相当于盖一栋楼,基本流程就是:设计师出图纸,打地基,用砖垒,封楼顶,而动工的这些流程就可以看作是设计模式的一种。
设计模式分为三种类型,共23种,而经常在项目中使用的有单例模式、代理模式、享元模式、装饰者模式、策略模式、观察者模式、适配器模式、工程模式、等。
然后让我详细的说说其中的单例模式在项目中的使用
单例模式:
比如说我们在系统运行时候,就需要加载一些配置和属性,这些配置和属性是一定存在了,又是公共的,同时需要在整个生命周期中都存在,所以只需要一份就行,这个时候如果需要我再需要的时候new一个,再给他分配值,显然是浪费内存并且再赋值没什么意义,所以这个时候我们就需要单例模式或静态方法去维持一份且仅这一份拷贝,但此时这些配置和属性又是通过面向对象的编码方式得到的,我们就应该使用单例模式,或者不是面向对象的,但他本身的属性应该是面对对象的,我们使用静态方法虽然能同样解决问题,但是最好的解决方案也应该是使用单例模式。
## 代理模式:
数据多机房同步,机房通过代理模式同步到其他机房,来避免机房宕机
##(比如创建型模式中的:工程方法模式、抽象工厂模式、单例模式等,结构型模式中的:适配器模式、代理模式、享元模式、外观模式等,行为型模式中的:策略模式、观察者模式、备忘录模式等)