10 天前 / dreamapple
这一篇文章是关于设计模式大冒险系列的第五篇文章,这一系列的每一篇文章我都希望能够通过通俗易懂的语言描述或者日常生活中的小例子来帮助大家理解好每一种设计模式。 今天这篇文章来跟大家一起学习一下状态模式。相信读完这篇文章之后,你会收获很多。在以后的开发中,如果遇到了类似的情况就知道如何更好地处理,能够少用 if 和 else 语句,以及 switch 语句,写出更已读,扩展性更好,更易维护的程序。话不多说,我们开始今天的文章吧。
19 天前 / hivefans东杰
自从软件开发的早期 (1960 年代)以来,解决大型软件系统中的复杂性一直是一项艰巨的任务。多年来,软件工程师和架构师为解决软件系统的复杂性进行了许多尝试:David Parnas 的模块化和信息隐藏 (1972),Edsger W. Dijkstra 的关注分离 (1974),面向服务的体系结构 (1998)。 他们所有人都使用了久经考验的成熟技术来解决大型系统的复杂性:分而治之。自 2010 年代以来,这些技术不足以解决 Web 规模应用程序或现代大型企业应用程序的复杂性。结果,架构师和工程师开发了一种新方法来解决现代软件系统的复杂性:微服务架构。
36 天前 / 爱笑的架构师
点击关注"爱笑的架构师" 右上角"设为星标"好文章不错过 来到心仪已久的公司面试,刚推开门还没等我说话 HR 小姐姐就主动问我:你是来参加面试的吧? 我心想不对啊:难道是因为我长的帅,小姐姐一眼就看出来我将来是这栋楼的主人,所以才主动跟我打招呼。 我昂起头,略微点点头:是的。 HR 小姐姐:面试官马上就过来,我先带你去会议室。 在去会议室的路上,我发现大家脖子上都带着亮闪闪的工牌,我下意识的看了看我的脖子上,除了昨天没有洗澡留下来的一点汗渍啥也没有。 原来是因为我没带工牌才认出我的,顿时我的脸滚烫滚烫的,我承认刚才我有点自恋了。
37 天前 / dreamapple
这一篇文章是关于设计模式大冒险系列的第四篇文章,这一系列的每一篇文章我都希望能够通过通俗易懂的语言描述或者日常生活中的小例子来帮助大家理解好每一种设计模式。今天这篇文章来跟大家一起学习一下单例模式。相信读完这篇文章之后,你肯定会有所收获的。 关于单例模式,这应该是设计模式中最简单的一种了。大家如果学习过设计模式,可能很多设计模式长时间不用就忘记了,但是对于单例模式来说,你肯定不会忘记。因为它的理论知识比较简单,实践起来也很方便。
47 天前 / 码个蛋
代码 抽象基类 public abstract class 英雄 { public abstract int 攻击 () public abstract int 冷却 () ........}实现基类 public class 李白 extends 英雄 { @Override public int 冷却 (){ return 5; } ........}Buff 抽象类 public abstract Buff extends 英雄 { public abstract int 攻击 () public abstract int 冷却 () ........}不同 Buff 的实现类 public 红 buff extends Buff { private 英雄 英雄; public 红 buff( 英雄 英雄){ this.英雄 = 英雄; } @Override public int 攻击 () { return...
62 天前 / BloomingRose
本文摘要 文章介绍了面向对象的基础知识,对象,类,抽象,接口等基本概念,面向对象的三大特征以及 UML 类图的基础知识,作为后续文章的基础。 名词解释 1、抽象:一种思维方式,把具体事物的简单化,概括性描述。 2、UML:通用建模语言 1、对象和类 1.1 对象 在面向对象的世界里,万物皆是对象,动物是对象,植物是对象,对象的本质是什么呢?对象是一个真实存在的事物。比如一个杯子,一碗水都是对象。 用对象的方式描述事物,与面向过程方式来讲,更容易理解,更符合人们的思维习惯。
69 天前 / dreamapple
这篇文章是关于设计模式系列的第三篇文章,这一系列的每一篇文章都会通过生活中的小例子以及一些简单的比喻让大家明白每一个设计模式要解决的是什么问题,然后通过什么方式解决的。希望大家在看过每篇文章之后都能够理解文章中讲解的设计模式,然后有所收获。话不多说,让我们开始今天的冒险吧。 工厂模式的第一印象 对于初次听说这个设计模式的同学来说,你们的第一印象是什么呢?既然是工厂模式,那么肯定跟工厂的一些功能或者行为有关系。
73 天前 / Mohuishou
2020 年 11 月 5 日 凌晨 1.2k 字 13 分钟 Go 设计模式 24- 总结 ( 更新完毕)序 Go 设计模式实现,包含常见的设计模式实现,同时这也是 极客时间 - 设计模式之美的笔记,源课程采用 Java 实现,本系列会采用 Go 实现课程: 设计模式之美本文代码仓库: https://github.com/mohuishou/go-design-patternRoadMap: 24/24 这是该系列的最后一篇文章啦,后续看情况可能会不定期补充一些实战的内容,但是正文就这么多了获取更新: Github、知乎、RSS、开发者头条**总结原本预计是在十月底更新完毕这个系列,到今天是 11-05,晚了几天,不过也还好...
80 天前 / TIGEEB
嗯,Go 设计模式实战系列,一个设计模式业务真实使用的 golang 系列。 前言本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX 设计模式」? 什么真实业务场景可以使用「XX 设计模式」? 怎么用「XX 设计模式」? 本文主要介绍「组合模式」结合 Go 语言天生的并发特性,如何在真实业务场景中使用。 之前文章《代码组件 | Go 设计模式实战》已经介绍了「组合模式」的概念,以及在业务中的使用。今天我们结合 Go 语言天生的并发特性,升级「组合模式」为「并发组合模式」。
82 天前 / dreamapple
这是关于设计模式系列的第二篇文章,在这个系列中,我们尽量不使用那些让你一听起来就感觉头大的解释设计模式的术语,那样相当于给大家带去了新的理解难度。我们会使用生活中的场景以及一些通俗易懂的小例子来给大家展示每一个设计模式使用的场景以及要解决的问题。 这篇文章我们来讲解装饰者模式,那么什么是装饰者模式呢?对于名字来说你可能会感到比较陌生,但是你在生活中肯定经常使用这个模式去解决生活中的一些问题。只是你并不知道它原来是装饰者模式而已。
85 天前 / 博文视点Broadview
谈起《设计模式》,那是几乎无人不知,无人不晓,大名鼎鼎的 GoF 的惊世之作,真是“平生不识 GoF,学尽设计也枉然”! 然而,设计模式真的是软件设计的“瑞士军刀”,切、削、锯、钻样样精通吗? 读过《设计模式》的读者估计不少,但真正注意过《设计模式》的副标题的估计很少,而这个副标题却是避免误解设计模式的关键。《设计模式》的副标题是:可复用面向对象软件的基础! 不要小看了这短短的一句话,如果你没有看这句话,或者只是一扫而过并没有仔细体会,那么你很可能就认为设计模式是一把“瑞士军刀”...
90 天前 / semlinker
在软件工程中,设计模式(Design Pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。根据模式的目的来划分的话,GoF(Gang of Four)设计模式可以分为以下 3 种类型: 1、创建型模式:用来描述 “如何创建对象”,它的主要特点是 “将对象的创建和使用分离”。包括单例、原型、工厂方法、抽象工厂和建造者 5 种模式。 2、结构型模式:用来描述如何将类或对象按照某种布局组成更大的结构。包括代理、适配器、桥接、装饰、外观、享元和组合 7 种模式。 3、行为型模式:用来识别对象之间的常用交流模式以及如何分配职责。
93 天前 / Mohuishou
2020 年 10 月 19 日 下午 531 字 7 分钟序 Go 设计模式实现,包含常见的设计模式实现,同时这也是 极客时间 - 设计模式之美的笔记,源课程采用 Java 实现,本系列会采用 Go 实现课程: 70 | 备忘录模式:对于大对象的备份和恢复,如何优化内存和时间的消耗?本文代码仓库: https://github.com/mohuishou/go-design-patternRoadMap: 20/24 持续更新中,预计一周更新 2 ~ 3 种设计模式,预计到 202010 月底前更新完成获取更新: Github、知乎、RSS、开发者头条**笔记 代码实现 Code// Package memento 备忘录模式 // 下面这个例子采用原课程的例子...
94 天前 / 开发者头条
最近有一些粉丝私聊我,有没有技术文档,然后我这边经过一段时间收集,终于整理好了这套技术文档,里面包含了 Redis、Nginx、设计模式、spring 全家桶、Dubbo 等关于 Java 架构方面的资料,一并分享给大家。 技术文档已经整理好储存在网盘里面 这份资料包括: IDEA、Java 语法、面向对象、异常、常用类、集合、IO 流、多线程、网络编程、JUnit、枚举、注解、反射机制、CSS、HTML、JavaScript、JQuery、ajax、Javaweb、MySQL、JavaEE、SSM 框架、springboot、算法、Git、maven、Linux、设计模式、多线程与高并发、视频教程、视频源码、实战项目、电子书、简...
97 天前 / Mohuishou
2020 年 10 月 18 日 下午 933 字 13 分钟序 Go 设计模式实现,包含常见的设计模式实现,同时这也是 极客时间 - 设计模式之美的笔记,源课程采用 Java 实现,本系列会采用 Go 实现课程: 68 | 访问者模式(上):手把手带你还原访问者模式诞生的思维过程本文代码仓库: https://github.com/mohuishou/go-design-patternRoadMap: 19/22 持续更新中,预计一周更新 2 ~ 3 种设计模式,预计到 202010 月底前更新完成获取更新: Github、知乎、RSS、开发者头条**笔记 代码实现原课程中讲解访问者模式的时候用到了继承和函数重载这两个 Go 中没有的特性...