Giter VIP home page Giter VIP logo

java_design_patterns's Introduction

Java 实现的面向对象软件设计模式

License MIT Build status Gitter

设计模式(Design pattern)是用于面向对象程序设计的、有效提高代码重用效率、有着明确使用场景分类的程序设计规范的总结。使用设计模式的 目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦 的结构一样。在程序设计中 引入设计模式可以提高代码的可读性和程序运行时的可靠性,使程序设计得到规范和统一。

设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临 的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、 保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的 一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们 周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。

目录

构建模式

  • Builder (创建者)

  • Abstract Factory (抽象工厂)

  • Factory Method (工厂方法)

  • Prototype (原型模式)

  • Singleton (单例模式)

结构模式

  • Adapter (适配器)

  • Bridge (桥接模式)

  • Composite (组合模式)

  • Decorator (装饰模式)

  • Facade (外观模式)

  • Flyweight (享元模式)

  • Proxy (代理模式)

行为模式

  • Chain of Responsibility (职责链模式)

  • Command (命令模式)

  • Interpreter (解释器模式)

  • Iterator(迭代器模式)

  • Mediator(中介者模式)

  • Memento(备忘录模式)

  • Observer(观察者模式)

  • State(状态模式)

  • Strategy (策略模式)

  • Template Method (模板方法)

  • Visitor(访问者模式)

java_design_patterns's People

Contributors

jameszbl avatar

Watchers

 avatar

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.