设计模式 Design Patterns

  • 设计模式 Design Patterns

    • 创建型 Creational patterns

      • Abstract Factory
      • Builder
      • Factory Method
      • Object Pool
      • Prototype
      • Singleton
    • 结构型 Structural patterns
      • Adapter
      • Bridge
      • Composite
      • Decorator
      • Facade
      • Flyweight
      • Private Class Data
      • Proxy
    • 行为型 Behavioral patterns
      • Chain of responsibility
      • Command
      • Interpreter
      • Iterator
      • Mediator
      • Memento
      • Null Object
      • Observer
      • State
      • Strategy
      • Template method
      • Visitor

前言:刚学会使用Typora写Markdown,记录一下自己收藏关于设计模式文章。

创建型 Creational patterns

Abstract Factory

Creates an instance of several families of classes

Builder

Separates object construction from its representation

Factory Method

Creates an instance of several derived classes

Object Pool

Avoid expensive acquisition and release of resources by recycling objects that are no longer in use

Prototype

A fully initialized instance to be copied or cloned

Singleton

A class of which only a single instance can exist

结构型 Structural patterns

Adapter

Match interfaces of different classes

Bridge

Separates an object’s interface from its implementation

Composite

A tree structure of simple and composite objects

Decorator

Add responsibilities to objects dynamically

Facade

A single class that represents an entire subsystem

Flyweight

A fine-grained instance used for efficient sharing

Private Class Data

Restricts accessor/mutator access

Proxy

An object representing another object

行为型 Behavioral patterns

Chain of responsibility

A way of passing a request between a chain of objects

Command

Encapsulate a command request as an object

Interpreter

A way to include language elements in a program

Iterator

Sequentially access the elements of a collection

Mediator

Defines simplified communication between classes

Memento

Capture and restore an object’s internal state

Null Object

Designed to act as a default value of an object

Observer

A way of notifying change to a number of classes

State

Alter an object’s behavior when its state changes

Strategy

Encapsulates an algorithm inside a class

Template method

Defer the exact steps of an algorithm to a subclass

Visitor

Defines a new operation to a class without change

Design Patterns of SourceMaking相关推荐

  1. 艾伟_转载:C# Design Patterns (3) - Decorator

    Decorator Pattern (装饰模式) 装饰模式可「动态」地给一个对象添加一些额外的职责,提供有别于「继承」的另一种选择.就扩展功能而言,Decorator Pattern 透过 Aggre ...

  2. 艾伟_转载:C# Design Patterns (4) - Proxy

    本帖介绍 Proxy Pattern (代理模式). Proxy Pattern (代理模式) The Proxy Pattern provides a surrogate or placeholde ...

  3. 检索com类工厂 80070005_Hands-On Design Patterns With C++(十二)友元工厂

    目录: trick:Hands-On Design Patterns With C++(零)前言​zhuanlan.zhihu.com 友元工厂 c++中,友元用于给予其他类访问权限.本章具体讨论以下 ...

  4. 架构与设计 之一 C 嵌入式设计模式(Design Patterns for Embedded Systems in C)的学习记录

    唉   时至今日,已经不知道在嵌入式的道路上到底挣扎了多少个岁月,总感觉要"病入膏肓"了.此间总是不时出现一些疑惑:人家搞 Java.搞 C# 的动不动就是什么架构 / 框架的,搞 ...

  5. Design Patterns in Java

    <Design Patterns in Java> 作者:Steven John Metsker,William C. Wake 出版日期:2006-04-28 语言:English 版本 ...

  6. 设计模式(Design Patterns)详解

    设计模式(Design Patterns) --可复用面向对象软件的基础一般会用到的: Factory( 工厂模式) Singleton(单例模式) 这两个比较多 Proxy(代理模式) Adapte ...

  7. Rethinking Design Patterns - from Jeff Atwood

    本文出处[1] ... It's certainly worthwhile for every programmer to read Design Patterns at least once, if ...

  8. 艾伟:C# Design Patterns (1) - Factory Method

    Simple Factory Pattern (简单工厂模式) 特性: 把类的实例化工作,集中到一个「工厂类」去处理,亦即将 new instance 的工作,都交给一个「工厂」去处理,而不要分散写在 ...

  9. Java23中设计模式(Design Patterns)详解

    2019独角兽企业重金招聘Python工程师标准>>> 设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复 ...

  10. Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解

    设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

最新文章

  1. 干货 | 476个PyTorch资源大合集推荐,GitHub超过3600星
  2. 迈克尔戴尔展望医疗愿景:信息驱动创新
  3. JAVA版StarDict星际译王简单实现
  4. 【Java代码】京东商品全部分类数据获取(建表语句+Jar包依赖+树结构封装+爬虫源代码)包含csv和sql格式数据下载可用
  5. secureCRT修改鼠标颜色
  6. Servlet快速入门及运行流程
  7. libevent: linux安装libevent
  8. js调用微信扫一扫demo_JS 调用微信扫一扫功能
  9. c语言block内部的实现原理,iOS中block变量捕获原理详析
  10. VR线下体验店群雄并起,超级队长为何能靠IP突围?
  11. matlab gaot工具箱安装详细说明
  12. python cmp_to_key
  13. 使用D3渲染中国地图
  14. macOS 10.14配置APUE环境
  15. 《全面解读IPTV生态链》-转自CSDN
  16. YApi接口管理平台远程代码执行漏洞(含批量POC)
  17. oracle 12c导入dmp文件(实践)
  18. linux测试读写的工具,Linux 下的硬盘读写速度测试工具
  19. 又一百度杰出科学家离职,百度研究院成中国AI的黄埔军校
  20. Python中求矩阵的逆

热门文章

  1. CPU超频烤机温度多少算正常?
  2. final 的三种用法是什么?
  3. 不同音乐格式之谜(wav,flac,ape,wv,tak,ogg,aac)
  4. PDF文件中的文字怎么修改?来试试这种修改方法
  5. The All-purpose Zero-HDU5773
  6. 04735数据库系统原理(笔记)(更新中)
  7. Java图片高保真缩放工具类
  8. 洛谷 P5713 【深基3.例5】洛谷团队系统
  9. oracle语句报错 * ERROR at line 2: ORA-00923: FROM keyword not found where expected
  10. 《GAMES203:三维重建和理解》1 三维视觉(3D Vision)介绍