GithubHelp home page GithubHelp logo

design-pattern's Introduction

以下内容为李建忠老师设计模式课程学习笔记,特此说明。通过李老师设计模式课程的学习,我对设计模式有了更加深入的理解,再次表示感谢!

Design-Pattern

从封装变化角度对模式分类

组件协作:
  • Template Method
  • Strategy
  • Observer/Event
单一职责:
  • Decorator
  • Bridge
对象创建:
  • Factory Method
  • Abstract Factory
  • Prototype
  • Builder
对象性能:
  • Singleton
  • Flyweight
接口隔离:
  • Facade
  • Proxy
  • Mediator
  • Adapter
状态变化:
  • Memento
  • State
数据结构:
  • Composite
  • Iterator
  • Chain of Responsibility
行为变化:
  • Command
  • Visitor
领域问题:
  • Interpreter

重构获得模式 Refactoring to Patterns

  • 面向对象设计模式是“好的面向对象设计”,所谓“好的面向对象设计”指的是那些可以满足“应对变化”,提高复用的“的设计模式。

  • 现代软件设计的特征是“需求的频繁变化”。设计模式的要点是:“寻找变化点,然后在变化点处应用设计模式,从而来更好地应对需求的变化”。什么时候、什么地点应用设计模式“比”理解设计模式结构本身“更为重要。

  • 设计模式的应用不宜先入为主,一上来就使用设计模式是对设计模式的最大的误用。没有一步到位的设计模式。敏捷软件开发所提倡的“Refactoring to patterns"是目前普遍公认的最好的应用设计模式的方法。


重构技法

  • 静态-动态
  • 早绑定-晚绑定
  • 继承-组合
  • 编译时依赖-运行时依赖
  • 紧耦合-松耦合

design-pattern's People

Contributors

hujianglang avatar

Stargazers

 avatar

design-pattern's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.