• Stars
    star
    677
  • Rank 66,235 (Top 2 %)
  • Language
    Java
  • License
    MIT License
  • Created almost 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Java 实现的面向对象设计模式示例, 创建者、抽象工厂、工厂方法、原型、单例、适配器、桥接、组合、装饰器、备忘录、观察者、状态、策略、模板方法、访问者

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(访问者模式)

More Repositories

1

FS-Blog

个人博客,Spring Boot 开山之作,采用 Spring Boot + MyBatis,前端 Bootstrap + LayUI,支持程序员非常青睐的轻量化的 Markdown 编辑器 Editor.md,支持标签分类检索
Java
738
star
2

db-hospital-drug

数据库课程设计-医院药品管理系统,符合 3NDF 的规范数据库设计,Spring Boot + MyBatis + MySQL
Java
230
star
3

authmore-framework

基于 OAuth2.0 协议的跨域认证授权开发套件, 包含授权服务和开放平台 Docker 镜像,基于 Spring Boot Starter 的资源服务工具包和客户端(第三方应用)工具包
Java
149
star
4

zhilian_spider

智联招聘关键词搜索职位信息爬虫
Python
36
star
5

algorithm

常用查找和排序算法
Java
34
star
6

URP_Spider

UPR 教务系统信息收集工具(爬虫)
Python
25
star
7

keykee

这是一个记录键盘的使用情况的软件,精确统计每个按键,按键24小时统计,按键频次趋势分析
Python
20
star
8

JianZu

A prototype Android application that integrates rental and secondhand transactions.
Java
9
star
9

JCloudBak

Automatic backup tool for removable device files based on Qiniu cloud storage.
Java
6
star
10

reactive-java

Java 异步编程实战
Java
6
star
11

diulala-server

丢啦啦-大学生公益失物招领平台-服务端应用
Java
5
star
12

bookit

Vue-based bookkeeping App fro Android.
Vue
5
star
13

james-blog

郑保乐的博客 http://james.letec.top
CSS
4
star
14

authmore-doc

开发者手册 - 基于 OAuth2.0 协议的跨应用认证授权开发套件
JavaScript
3
star
15

boss-batch

BOSS直聘批量沟通工具 (ADB)
Python
3
star
16

console-util

命令行字符输出的工具集,目前的功能有表格输出
Java
3
star
17

shell-in-action

Shell 编程实战
Shell
3
star
18

spring-kotlin

使用 Kotlin 构建 Spring Boot 应用,包含 Junit5 Mockito 集成测试
Kotlin
2
star
19

authmore-ui

Authmore 认证平台前端 - 基于 OAuth2.0 的跨域认证授权开发套件
JavaScript
2
star
20

sb-demo

Java
2
star
21

JCloudBak-Linux

Automatic backup tool for removable device files based on Qiniu cloud storage for Linux.
Java
2
star
22

hebust_practise

HTML Practise
HTML
2
star
23

jameszbl.github.io

郑保乐的博客 | James' Blog - 访问 http://james.letec.top
HTML
2
star
24

Qt_Library

Qt 实现的图书管理系统
C++
2
star
25

concurrency

Kotlin (JVM) 并发编程
Kotlin
2
star
26

easy-json

Java 对象和 Json 之间转换的工具
2
star
27

java-share

1
star
28

jencrypt

File and directory encryption application with auto-mount volume.
Python
1
star
29

Dictionary

实现英汉互译等功能的 Android APP
Java
1
star
30

zhilian_analysis

智联招聘职位信息大数据分析
1
star
31

homebrew-jencrypt

homebrew-jencrypt
Ruby
1
star
32

repo-cleaner

常见构建工具依赖仓库清理工具 - 自动扫描指定范围的项目,识别没有使用的版本或过期的依赖,自定义的删除,释放磁盘空间
Python
1
star
33

Library_Management_System

A java web project that uses Spring MVC , Spring , MyBatis , jQuery EasyUI , bootstrap and so on . It can be used to manage a library , especially managing books' info .
Java
1
star