一起来看Java设计思想之23种设计模式
怎么使用设计模式
为什么要使用设计模式?
编写代码,写接口、写类、写方法
用设计模式做设计的作用是什么?
指导、规定如何去写代码,如何写接口、写类、写方法
为什么要用设计模式?
需求会变,代码会变,为了应对变化,为了以后方便拓展,做到以不变应万变,不变的是变化
如何着手使用设计模式?
1:理清现实
2:区分变与不变
3:搞清楚会如何变
4:使用者如何隔绝这种变化
不同的变化方式对应不同的设计模式

设计的体现:
如何来定义接口、类、方法
怎么着手使用:
找出变化,分开变化和不变的
隔离、封装变化的部分,让其他部分不受它的影响
23种设计模式
创建型模式
这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用new运算符直接实例化对象,这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活
结构型模式
这些设计模式关注类和对象的组合,继承的概念被用来组合接口和定义组合对象获得新功能的方式
- 指方画圆之Java设计模式:适配器模式
- 八戒转世投胎竟然是Java设计模式:桥接模式
- 老和尚给小和尚讲故事引发了Java设计模式:组合模式
- 由孙悟空的七十二变看Java设计模式:装饰者模式
- 由一名保安引发的Java设计模式:外观模式
- 由奶茶店突发奇想开始了Java设计模式:享元模式
- Tony老师带你来看Java设计模式:代理模式
行为型模式
这些设计模式特别关注对象之间的通信
- 击鼓传花联想到了Java设计模式:责任链模式
- 玉帝传美猴王上天,大闹天宫之Java设计模式:命令模式
- 从中国加入WTO来看Java设计模式:中介者模式
- 观世音甘泉活树的故事竟然是Java设计模式:备忘录模式
- 什么?女神发了朋友圈,快来围观之Java设计模式:观察者模式
- 曾侯乙编钟引发的遐想之Java设计模式:状态模式
- 诸葛亮的锦囊妙计竟然是大名鼎鼎的Java设计模式:策略模式
- 从西天取经的九九八十一难来看Java设计模式:模板方法模式
- 由电脑专卖系统引发的Java设计模式:访问者模式
- 简单的介绍一下Java设计模式:解释器模式
- 简单的了解下Java设计模式:迭代器模式(转载)
- 被遗忘的设计模式——空对象模式(转载)
总结
请记住一下三点:
- 找出变化
- 接口
- 组合
- 一个
- 多个
- 组合
一起来看Java设计思想之23种设计模式的更多相关文章
- [ 转载 ] Java开发中的23种设计模式详解(转)
Java开发中的23种设计模式详解(转) 设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类 ...
- Java开发中的23种设计模式详解
[放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式 ...
- Java开发中的23种设计模式详解(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- Java开发中的23种设计模式(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- 0. Java开发中的23种设计模式详解(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- (转)Java开发中的23种设计模式详解
原文出自:http://blog.csdn.net/zhangerqing 一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型 ...
- Java开发中的23种设计模式
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- [转载]java开发中的23种设计模式
原文链接:http://blog.csdn.net/zhangerqing 设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反 ...
- 【java】java开发中的23种设计模式详解
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
随机推荐
- 修改yapf中的列宽限制值
yapf是一款由Google开源的Python代码自动格式化工具,它根据PEP 8规范可以帮我们自动格式化我们的代码,让代码更规范.更漂亮.但是其中最大列宽被限制为80,如果超过80,在格式化时就会被 ...
- 【微前端】微前端最终章-qiankun指南以及微前端整体探索
序 这才2月中旬,广州就已经渐渐地进入了夏季,--夏天总是让人焦虑的.过年闲暇时间写下了微前端这系列的终章,欢迎拍砖.如果你习惯直接上手代码,不妨跳到实践一节,直接上代码教程玩一玩. qiankun原 ...
- TERSUS无代码开发(笔记05)-简单实例电脑端页面设计
案例笔记电脑端页面设计 1.新建项目(请假管理qjgl) 2.开发软件界面介绍(常用的功能按键) 3.目录中显示元件对象 4.对元件对象的操作主要方式是双击(双击哪个元件, ...
- 微信小程序自定义头部导航栏
<!--index.wxml--> <view> <navbar id='index_header' background='{{background}}' pageNa ...
- docker nacos 集群部署
1.准备机器3台 192.168.101.14 192.168.101.15 192.168.101.16 2.初始化sql(如果我们要搭建集群的话,那么肯定是不能用内嵌的数据库,不然数据无法共享.集 ...
- Java 查找算法
1 查找算法介绍 在 java 中,我们常用的查找有四种: 1) 顺序(线性)查找 2) 二分查找/折半查找 3) 插值查找 4) 斐波那契查找 2 线性查找算法 有一个数列: {1,8, 10, ...
- root 登录 lightdm freebsd下
root 登录 lightdm freebsd下方法 pkg install lightdm-gtk-greeter lightdm 写入lightdm_enable="YES"到 ...
- 【Git】敏感信息保护
保护Git仓库敏感信息 代码中无可避免有一些敏感信息,包含但不限于,数据库信息,密钥,账号信息等等.通常我们会把这些信息放在配置文件,这些信息若泄露会造成安全问题. 以前我们做法,是把配置文件通过.g ...
- 单链表及基本操作(C语言)
#include <stdio.h> #include <stdlib.h> /** * 含头节点单链表定义及基本操作 */ //基本操作函数用到的状态码 #define TR ...
- Dart简明教程
[前言]Dart语言是使用flutter框架开发时候必备的语言,flutter是一个跨平台的框架,一套代码就可以完美实现安卓和ios两个平台,适配也很不错,Dart语言很友好,和java很类似,学习成 ...