什么是设计模式?

设计目的

编写软件过程中,程序员面临着来自耦合性内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑 战 设 计模式是为了让 程序 软件 具有更好

1 代码重用性

2 可读性(编程规范性,便于他人阅读理解)

3 可扩展性(当需要增加新的功能时,非常方便)

4 可靠性(当我们增加新的功能后,对原来功能无影响)

5 使程序呈现高内聚,低耦合的特性

设计模式

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

在GOF编写的设计模式(可复用面向对象软件的基础)一书中说道:本书涉及的设计模式并不描述新的或未经证设计,我们只收录那些在不同系统中多次使用过的成功设计。

大部分设计模式要解决的都是代码的可重用性、可扩展性问题
如果说数据结构和算法是教你如何写出高效代码,那设计模式讲的是如何写出可扩展、可读、可维护的高量代码,所以,它们跟平时的编码会有直接的关系,也会直接影响到你的开发能力。  

设计模式的好处

  • 不再编写 bullshit-code
  • 提高复杂代码的设计和开发能力
  • 有助于我们读懂源码,学习框架更加事半功倍

GoF设计模式只有23个,但是它们各具特色,每个模式都为某一个可重复的设计问题提供了一套解决方案。

根据它们的用途,设计模式可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)

创建型模式(5种):提供创建对象的机制,提升已有代码的灵活性和可复用性

  • 常用的有:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式。
  • 不常用的有:原型模式。

结构型模式(7种):介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效

  • 常用的有:代理模式、桥接模式、装饰者模式、适配器模式。
  • 不常用的有:门面模式、组合模式、享元模式。

行为模式(11种):负责对象间的高效沟通和职责传递委派

  • 常用的有:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式。
  • 不常用的有:访问者模式、备忘录模式、命令模式、解释器模式、中介模式。
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值