美文网首页
GoF 设计模式泛泛论

GoF 设计模式泛泛论

作者: long弟弟 | 来源:发表于2022-09-08 22:36 被阅读0次

设计模式:可复用面向对象软件的基础

设计模式简介

设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。

学习设计模式的作用

  1. 没啥用!!!
    不学设计模式,照样能写代码,不影响爱拍拍(App)上架!
  2. 能看懂别人的代码
    为什么这么做!这么做解决了什么问题!
    减少重复、臃肿的代码,更易复用、扩展、易维护
  3. 规范、解耦
    在高一点的层次看代码

为什么设计模式?

如果把修习软件开发当做武功修炼的话,那么可以分为招式内功

内功和招式.JPG

招式

  • StartUML、Xcode等开发工具
  • Java、C++、Swift等编程语言
  • ...

内功

  • 数据结构与算法
  • 软件工程
  • 重构
  • 设计模式

招式可以很快学会,但内功的修炼需要更长的时间。

如何轻松学习设计模式?

一、案例
积累案例
结合结构图多思考并归纳总结
遇到合适的问题使用合适的设计模式来解决,多用

二、前置知识点

  1. 面向对象及其特点
    面向过程:数据结构和操作分离
    面向对象:数据结构和操作看成一个整体,有的概念

特点: 封装、继承、多态、(抽象)

  • 封装:静态属性和动态属性(方法)增加访问权限
  • 继承:OC单继承
  • 多态:1.继承 2.子类重写父类的方法 3.父类的指针指向子类
  1. 面向对象设计原则(高内聚,低耦合)
  • SOLID原则

    • 单一职责原则
    • 开放-封闭原则
    • 里氏代换原则
    • 接口隔离原则
    • 依赖倒置原则
  • KISS原则
    keep it short and simple.保持代码简短

  • DRY原则
    Don't Repeat Yourself.代码别重复

  1. UML图
    能看懂类图、时序图,理解类之间的关系:依赖、关联、泛化(继承)、聚合、组合、实现。

iOS主要使用Objective-C语言,虽然说设计模式是一种编程经验,学习设计模式应该与编程语言无关,但其实是有关系的。如适配器模式,实现类适配器C++支持多继承,OC不支持多继承,所以一方是需是协议。严格来说OC中没有C++虚类或Java抽象类、接口的概念,但抽象类可以替换为协议,或者重写init等方法来假装实现,接口理解为方法。

反过来说,学习设计模式也能更深入的理解面向对象编程的思想。

设计模式的类型

  1. 创建型:单例模式、工厂模式、抽象工厂模式、原型模式、建造者模式
    对象的创建问题,封装复杂的创建过程,解耦对象的创建和使用。
  1. 结构型:代理模式、装饰器模式、适配器模式、外观模式、组合模式、享元模式、桥接模式
    主要总结了一些类和对象组合在一起的经典结构
  1. 行为型:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式、访问者模式、备忘录模式、命令模式、解释器模式、中介模式
    类和对象之间的交互

最后

不是为了学设计模式而学设计模式
记住应用场景,做到手中无剑心中有剑即可!
自己也总结经验,也可以创新模式
不仅限23种设计模式

后续的系列文章也是根据自己的理解整理出来的,如有不足,请不吝赐教!谢谢!!!

参考
设计模式之美
RUNOOB.COM
C++进阶-UML与设计模式
23 种设计模式详解(全23种)
设计模式系列1--开篇漫谈
iOS 设计模式之单例模式


相关文章

  • GoF 设计模式泛泛论

    设计模式:可复用面向对象软件的基础 设计模式简介 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设...

  • 23种设计模式

    23种设计模式 GoF:(Gang of Four,GOF设计模式)---四人组 Design Pattern...

  • 设计模式之创建型

    设计模式概述 基于设计原则,GoF(设计模式总结4人组)总结了软件开发领域的23个经典设计模式。虽然GoF设计模式...

  • 设计模式之结构型

    设计模式概述 基于设计原则,GoF(设计模式总结4人组)总结了软件开发领域的23个经典设计模式。虽然GoF设计模式...

  • 设计模式之行为型

    设计模式概述 基于设计原则,GoF(设计模式总结4人组)总结了软件开发领域的23个经典设计模式。虽然GoF设计模式...

  • GOF的23种设计模式

    设计模式(Design Patterns) GOF的23种设计模式 GoF(“四人帮”,指Gamma, Helm,...

  • 19暑期学习-Day7

    休息~预习GoF设计模式

  • GOF的23种设计模式

    一、GOF简介 GOF是设计模式的经典名著Design Patterns: Elements of Reusabl...

  • 11. 设计模式分类

    设计模式的分类,把GoF的23个设计模式写完之后再写

  • 漫谈设计模式在 Spring 框架中的良好实践

    在开始正文之前,请你先思考几个问题: 你项目中有使用哪些 GOF 设计模式 说一说 GOF 23 种设计模式的设计...

网友评论

      本文标题:GoF 设计模式泛泛论

      本文链接:https://www.haomeiwen.com/subject/uajegrtx.html