学习设计模式的好网站
http://www.riabook.cn/doc/designpattern/
From Gossip@caterpillar
非关语言: 设计模式
程式设计是思维具体化的一种方式,是思考如何解决问题的过程,设计模式是在解 决问题的过程中,一些良好思路的经验集成,最早讲设计模式,人们总会提到 Gof 的著作,它最早将经典的 23 种模式集合在一起说明,对后期学习程式设计,尤其是对从事物件导向程式设计的人们起了莫大的影响。
后来设计模式一词被广泛的应用到各种经验集成,甚至还有反模式(AntiPattern),反模式教导您如何避开一些常犯且似是而非的程式设计思维。
这边的话将整理一些设计模式学习心得,实作的部份是使用Java,因而您会看到一些与 Gof 模式不同的图及实作方式,这是为了善用一些Java本身的特性,至于C++的实作方面,Gof 的书已经给了不少的例子。
在一些模式的实作上,您会发现我用了介面(interface)来取代抽象类别(Abstract class),这与原先的Gof书中的范例会不尽相同,这是因为在C++中没有介面,一个完全没有实作任何方法的抽象类别,根据当时描述的主题特性,可以 的话会将之换为介面,在语义上会较符合Java语言的特性,但是您要知道的是,介面与完全没有实作任何方法的抽象类别在某些时候是可以互换的。
在这边所看到的 UML 图都是使用 Jude 绘制的,Jude 是一个纯 Java 撰写的 UML 工具程式,可运行与 Windows、Linux 等多个平台,体积小,使用简易。
- Gof 模式
以下的设计模式则是我个人从 Gof 学习中的个人体会与实作,并增加几个导入或衍生的简单模式。
- Creational 模式
- Simple Factory 模式
- Abstract Factory 模式
- Builder 模式
- Factory Method 模式
- Prototype 模式
- Singleton 模式
- Registry of Singleton 模式
- Structural 模式
- Default Adapter 模式
- Adapter 模式 - Object Adapter
- Adapter 模式 - Class Adapter
- Bridge 模式
- Composite 模式
- Decorator 模式
- Facade 模式
- Flyweight 模式
- Proxy 模式(一)
- Proxy 模式(二)
- Behavioral 模式
- Chain of Responsibility 模式
- Command 模式
- Interpreter 模式
- Iterator 模式
- Mediator 模式
- Memento 模式
- Observer 模式
- State 模式
- Strategy 模式
- Template Method 模式
- Visitor 模式
- 多执行绪模式
在很多应用中都会使用多执行绪,尤其是在Web应用中,多执行绪以 Gof 整理的模式为基础,考量多执行绪环境中,如何组合这些基本模式来完成多执行绪安全要求。
- Guarded Suspension 模式
- Producer Consumer 模式
- Worker Thread 模式
- Thread-Per-Message 模式
- Future 模式
- Read-Write-Lock 模式
- Two-phase Termination 模式
- Thread-Specific Storage 模式
- 参考资料
以下是以Java实作设计模式的介绍网站,从下面的连结开始,当中您可以找到更多设计模式的资源。
- Huston Design Pattern
- The Design Patterns Java Companion
- 板 桥里人的 Java 设计模式学习心得
- UML 软件工程组织
学习设计模式的好网站相关推荐
- 阿里大佬告诉我,想学习设计模式,得先学好这些硬核技能
写在前面 我们继续学习架构师技能,今天是本系列的第二篇,希望大家持续关注. 可能你不是科班出生,甚至大学都没念,没背景没关系.我们只要每天进步一点点,一个月.两个月.半年.一年....... 规划性的 ...
- 小菜学习设计模式(五)—控制反转(Ioc)
写在前面 设计模式目录: 小菜学习设计模式(一)-模板方法(Template)模式 小菜学习设计模式(二)-单例(Singleton)模式 小菜学习设计模式(三)-工厂方法(Factory Metho ...
- java学习视频网站_学习Java的视频网站
原标题:学习Java的视频网站 很多自学Java的人都发现网上的Java视频教程都会分章节讲解,但是总感觉很乱?那是因为你没有比较系统.全面的了解Java语言,没有将Java应用到实际项目中,那么有哪 ...
- 1.4 如何学习设计模式
在了解了设计模式的历史和分类后,应该如何学习设计模式呢?在学习设计模式之前,读者一定要树立一种意识,那就是:设计模式并不只是一种方法和技术,它更是一种思想.一个方法论.它和具体的语言没有关系,学习设计 ...
- 跟着ZHONGHuan学习设计模式--桥接模式
转载请注明出处! ! !http://blog.csdn.net/zhonghuan1992 全部配套代码均在github上:https://github.com/ZHONGHuanGit/Desig ...
- 我学习设计模式的一些所想所得
设计模式一直饱受争议,很多人对设计模式推崇备至,但也有很多人认为设计模式误导了编程者,见(<解密"设计模式">). 我也只是一个普通的编程人员,这里只能谈一谈我在学习设 ...
- python中小学生编程学习-推荐几个适合小白学习Python的免费网站
9gd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台 想要学好python,只靠看Python相关的书籍是远远不够的!互联网时代,我们还要充分利用网络上的免费资源,不然怎样成为一 ...
- 学习MVC之租房网站(二)-框架搭建及准备工作
在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的"双层"架构,并据此建立了项目 接下来要编写Common类库.配置AdminWeb和Fr ...
- [转自左潇龙的博客]设计模式大杂烩(24种设计模式的总结以及学习设计模式的几点建议)...
原文地址: https://www.cnblogs.com/zuoxiaolong/p/pattern26.html 作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本 ...
最新文章
- 如何快速生成不同系列的Apriltag码?
- C#_Math函数总结
- 口腔取模过程及注意事项_数字化口 腔的发展与展望
- 全新版本仿网易云音乐来啦
- matlab程序求一个正交的相似变换矩阵,图像的等距变换,相似变换,仿射变换,射影变换及其matlab实现...
- 多库共存 包装集的问题 点击按钮创建一个p 几个属性介绍 jQuery的插件
- 并查集:P1196 [NOI2002] 银河英雄传说
- signal软件如何退出账号_超好用的手机视频剪辑软件Videoleap内购分享
- mysql 客户端乱码_Mysql客户端中文乱码问题解决
- 安装教程之JDK下载与安装_更新2022
- 银河麒麟安装steam
- yum源的三种配置方式
- 松下弧焊机器人 调电压_松下焊接机器人-基本操作篇.pdf
- win10解决未安装任何音频输出设备
- fatal: couldn‘t find remote ref develop-XXXX fatal: the remote end hung up unexpectedly
- 新海诚没有参与制作的作品_还未开始!新海诚的下一部作品还是白纸
- vscode没有应用程序与此操作的指定文件有关联
- ​软考高项论文写作这些雷区,千万要避开
- 一款高颜值的词云包让我拍案叫绝,我爷爷看了都能学会
- php文件档结构图,ecshop文件结构名称详细版
热门文章
- [投稿]对某国的一次APT攻击过程
- python __setitem__()方法理解
- 融云全球社交泛娱乐洞察,「音频社交」如何出海破圈
- PHP颜色十六进制转化为RGB
- Red Star 24 hours for you to promptly resolve the hammer crusher failure
- springboot + flowable + idm 在线编辑器
- 解决electron安装,卡在install.js不动的问题,UnhandledPromiseRejectionWarning: RequestError: read ECONNRESET
- 微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记4)支持React.js语法的Taro框架
- Python矩阵运算(不使用库)
- 用html5制作自己的课程表