蜗牛大师

吴庆龙的学习笔记

导航

2020年2月20日 #

设计模式-07 适配器模式(Adapter Pattern)

摘要: 1.模式动机 在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。 通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时,现有的类可以满足客户类的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有类中方法名与目标类中定义的方法名不一致等原因所导致的。 在这种 阅读全文

posted @ 2020-02-20 11:57 蜗牛大师 阅读(179) 评论(0) 推荐(0) 编辑

2020年2月11日 #

设计模式-06代理模式(Proxy Pattern)

摘要: 1.模式动机 在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。代理对象可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象去掉客户不能看到的内容和服务或者添加客户需要的额外服务。 我们经常使用的 Spring 中的 AOP,或者自己 阅读全文

posted @ 2020-02-11 16:32 蜗牛大师 阅读(137) 评论(0) 推荐(0) 编辑

设计模式-05建造者模式(Builder Pattern)

摘要: 1.模式动机 比如我们要组装一台电脑,都知道电脑是由 CPU、主板、内存、硬盘、显卡、机箱、显示器、键盘和鼠标组成,其中非常重要的一点就是这些硬件都是可以灵活选择,但是组装步骤都是大同小异(可以组一个高配置的,也可以组一个低配置的),这时建造者模式可以很好的描述这类产品的创建。 2.模式定义 建造者 阅读全文

posted @ 2020-02-11 12:05 蜗牛大师 阅读(245) 评论(0) 推荐(0) 编辑

设计模式-04抽象工厂模式(Abstract Factory Pattern)

摘要: 1.模式动机 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。 为了更清晰地理解工厂方法模式,需要先引入两个概念: 阅读全文

posted @ 2020-02-11 10:23 蜗牛大师 阅读(169) 评论(0) 推荐(0) 编辑

2020年2月4日 #

设计模式-03工厂方法模式(Factory Method Pattern)

摘要: 插曲.简单工厂模式(Simple Factory Pattern) 介绍工厂方法模式之前,先来做一个铺垫,了解一下简单工厂模式,它不属于 GoF 的 23 种经典设计模式,它的缺点是增加新产品时会违背“开闭原则”。 1.模式动机 考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如 阅读全文

posted @ 2020-02-04 09:45 蜗牛大师 阅读(306) 评论(0) 推荐(0) 编辑

2020年1月20日 #

设计模式-02原型模式(Prototype Pattern)

摘要: 1.模式动机 在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样简单。 简单粗暴的理解就是:创建一个对象当做模板,然后利用这个模板使用 方法快速的创建一个新的对象。 2.模 阅读全文

posted @ 2020-01-20 12:39 蜗牛大师 阅读(151) 评论(0) 推荐(0) 编辑

设计模式-23种设计模式的分类和功能

摘要: 一、学习设计模式前的思想准备 设计模式的出现并不是说我们要写的代码一定要遵循设计模式所要求的方方面面,这是不现实同时也是不可能的。设计模式的出现,其实只是强调好的代码所具备的一些特征(六大设计原则),这些特征对于项目开发是具备积极效应的,但不是说我们每实现一个类就一定要全部满足设计模式的要求,如果真 阅读全文

posted @ 2020-01-20 10:41 蜗牛大师 阅读(1413) 评论(0) 推荐(0) 编辑

2020年1月9日 #

设计模式-六大设计原则

摘要: 1.单一职责原则 一个类,应该只有一个引起变化的原因、只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在一起,这会导致脆弱的设计。当一个职责发生变化时,可能会影响其他的职责。另外,多个职责偶合在一起,会影响复用性。 简单说: 一个类只负责一项职责 。 问题 :比 阅读全文

posted @ 2020-01-09 17:43 蜗牛大师 阅读(381) 评论(0) 推荐(0) 编辑

2019年12月31日 #

CPU上下文切换详解

摘要: 1: CPU上下文切换详解 上下文切换(有时也称做进程切换或任务切换)是指 CPU 从一个进程或线程切换到另一个进程或线程。 进程(有时候也称做任务)是指一个程序运行的实例。在 Linux 系统中,线程就是能并行运行并且与他们的父进程(创建他们的进程)共享同一地址空间(一段内存区域)和其他资源的轻量 阅读全文

posted @ 2019-12-31 10:28 蜗牛大师 阅读(1102) 评论(0) 推荐(0) 编辑

Squirrel(松鼠)状态机的使用

摘要: 概述 其实对于英文好的同学来说,这个状态机的使用就非常简单了,参考 "https://github.com/hekailiang/squirrel" 上的文档即可,因为这个状态机的入门成本并不高。 实战代码 由于这个状态机比较简单,就直接上代码了,注释写在代码里,通过调试运行,相信你马上就理解了。 阅读全文

posted @ 2019-12-31 10:27 蜗牛大师 阅读(6503) 评论(0) 推荐(1) 编辑