23种设计模式

()

设计模式(Design Pattern)

是前辈们对代码开发经验的总结,是解决特定问题的一系列套路,它不是语法规定,而是一套用来提高代码的可复用性、可维护性、可读性、稳健性以及安全性的解决方案。最主要是解决面向对象的一些东西。
GOF(Gang of For,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了23种设计模式,从此树立了软件设计模式领域的里程碑,人称[Gof设计模式]《GOF23》

学习设计模式的意义

1.设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解
2.正确使用设计模式具有以下有点:
(1)可以提高程序员的思维能力、编程能力和设计能力
(2)使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期
(3)使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强

GOF23

1.GOF23
(1)一种思维、一种态度、一种进步
2.创建型模式(描述怎么样去创建一个对象,主要特点就是对象的创建和对象的使用分离就有了以下的模式)
单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式
3.结构型模式(描述怎样将类和对象组成更大的结构)
适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
4.行为型模式(描述类或者对象之间相互协作,完成单个对象无法完成的任务,主要是分配职责)
模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式

OOP七大原则

1.开闭原则:对扩展开放,对修改关闭(帮应用需要发生改变的时候,尽量不去修改原来的功能块功能工作,在原先基础上扩展)
2.里氏替换原则:继承必须确保超类(父类)所拥有的性质在子类中仍然成立(子类可以扩展父类的功能,尽量不要改变父类原有的功能,尽量在子类完成新的功能添加新的功能,如果通过重写父类的方法来完成一个新的功能,可复用性就变差了)
3.依赖倒置原则:要面向接口编程,不要面向实现编程(高层的模块不应该依赖底层的模块,抽象不依赖细节,细节应该依赖抽象,降低程序之间的耦合性)
4.单一职责(功能)原则:控制类的粒度大小,将对象解耦、提高其内聚性(说明一个对象不应该承担太多职责,一个方法尽可能干好一件事情(原子性),一个方法如果处理的事情太多,其粗粒度就会很粗,粒度越粗就说明一个方法处理事情越多,我们要控制粒度大小,保证一个方法尽量做一个事情)
5.接口隔离原则:要为各个类建立它们需要的专用接口(将学习的面向对象定义了一些规则)
6.迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话
(朋友指当前对象本身或者对象创建的对象,这些对象可能存在一些关联,你可以访问他的一些方法,尽量不要用两个类之间直接通信)
7.合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现(跟里氏替换原则差不多的)

单例模式

一定要搞懂枚举!

工厂模式

作用:
1.实现了创建者和调用者的分离
2.详细分类:
(1)简单工厂模式
(2)工厂方法模式
(3)抽象工厂模式

OOP七大原则:
(1)开闭原则:一个软件的实体应当对扩展开放,对修改关闭
(2)依赖倒转原则:要针对接口编程,不要针对实现编程
(3)迪米特法则:只与你直接的朋友通信,而避免和陌生人通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值