设计模式是软件工程中各种常见问题的经典解决方案,设计模式不只是代码,而是组织代码的方式。假设一行行的代码是砖,设计模式就是蓝图。
什么是设计模式
设计模式是解决问题的一种思想,和语言无关。在面向对象软件设计的工程中,针对特定的问题简洁优雅的一种解决方案。通俗一点的说,设计模式就是符合某种场景下某个问题的解决方案,通过设计模式可以增加代码的可重用性,可扩展性,可维护性,最终使得我们的代码高内聚、低耦合。
设计模式的五大设计原则
单一职责:一个程序只需要做好一件事。如果功能过于复杂就拆分开,保证每个部分的独立
开放封闭原则:对扩展开放,对修改封闭。增加需求时,扩展新代码,而不是修改源代码。这是软件设计的终极目标。
里氏置换原则:子类能覆盖父类,父类能出现的地方子类也能出现。
接口独立原则:保持接口的单一独立,避免出现“胖接口”。这点目前在TS中运用到。
依赖倒置原则:面向接口编程,依赖于抽象而不依赖于具体。使用方只专注接口而不用关注具体类的实现。俗称“鸭子类型”
设计模式的三大类
创建型:工厂模式,抽象工厂模式,建造者模式,单例模式,原型模式
结构型:适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式
行为型:策略模式,模板方法模式,发布订阅模式,迭代器模式,职责链模式,命令模式,备忘录模式,状态模式,访问者模式,中介者模式,解释器模式。
那么怎么才能学好甚至做到精通呢?相信很多人都会有这样的疑问,那么今天我就来帮助大家打消这些疑问。今天就分享一份阿里内部广为流传的设计模式笔记,它不仅简单、通俗、易懂,且又不肤浅地带你贯通设计模式,是这份笔记的最大特色。(据说是由多位P8以及以上的大佬编写的)!