一起来看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)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
随机推荐
- Tawk.to一键给自己的网站增加在线客服功能
Tawk.to一键给自己的网站增加在线客服功能 很多外贸网站只有contact页面,留下邮箱.电话等联系方式,而在国际贸易当中能够及时在线交流沟通,能给客户留下更好的印象.接下来,就让我们一起来了解一 ...
- Nifi组件脚本开发—ExecuteScript 使用指南(二)
Part 2 - FlowFile I/O 和 Error Handling flow File的IO NiFi 的 Flow files 由两个主要部件组成:attributes 和 content ...
- Vue学习笔记-chrome84版本浏览器跨域设置
一 使用环境: windows 7 64位操作系统 二 chrome84版本浏览器跨域设置 报错问题:Indicate whether to send a cookie in a cross- ...
- 解决使用Redis时配置 fastjson反序列化报错 com.alibaba.fastjson.JSONException: autoType is not support
1.问题描述 在使用redis时,配置自定义序列化redisTemplate为FastJsonRedisSerializer . 1 /** 2 * 自定义redis序列化器 3 */ 4 @Sup ...
- C++Template 模版的本质
我想知道上帝的構思,其他的都祇是細節. ...
- .NET测试--模拟框架NSubstitute
.NET测试--模拟框架NSubstitute .NET测试 NSubstitute在GitHub的开源地址:https://github.com/nsubstitute/nsubstitute/do ...
- 看完我的笔记不懂也会懂----Ajax
Ajax(Asynchronous JavaScript And XML) - 本次学习所用到的插件 - XML - JSON - 关于AJAX - HTTP协议 - AJAX重点之XMLHttpRe ...
- 关于VsCode创建Vue基础项目的步骤以及相关问题
项目创建步骤: 1. 全局安装vue-cli 安装命令: npm install -g vue-cli 在vscode上打开一个终端,然后输入此命令(下为截图): 2. 安装webpack,打包js ...
- vue3中使用axios如何去请求数据
在vue2中一般放在created中,但是在vue3中取消了created生命周期,请求方式有两种 直接在setup中去获取数据 setup(props) { const data = reactiv ...
- LeetCode1576. 替换所有的问号
原题链接 1 class Solution { 2 public: 3 string modifyString(string s) { 4 int lens = s.length(); 5 for(i ...