摘要:
ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态因此八个二进制位就可以组合出256状态A,这被称为一个(byte)就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,... 阅读全文
摘要:
AOP术语 通知:定义了切面是什么以及何时使用。除了要描述页面要完成的工作,通知还解决了何时执行这个工作的问题。 连接点:连接点是一个物理的存在。这个点可以是调用方法时、抛出异常时、甚至是修改一个字段时。 切点:如果通知定义了切面是”什么“和”何时“,那么切点定义了”何处“。切点的定义会匹配通知所要 阅读全文
摘要:
定义 模板方法模式:在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。UML类图 说明: 1、AbstractClass抽象中包含了模板方法,primitiveOpration1() 和prim... 阅读全文
摘要:
定义:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 个人理解 1、装饰者存在两个重要的组成部分,需要被装饰的组件(被装饰者)和装饰者抽象。每个装饰者需要持有一个组件,也就是说,装饰者需要持有Component抽象的引用。 2、装饰者和被装饰者必... 阅读全文
摘要:
1. 定义适配器模式:将一个类的接口,装换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 2. UML类图 说明: 1、客户看到的是目标接口。 2、适配器与被适配者组合。 3、适配器实现目标接口。 4、... 阅读全文
摘要:
定义 命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。UML图 说明:Invoker 是命令的执行者,通过调用Command中的execute()方法执行命令。Receiver 是一个接收者,接收着定义了一系列可以执... 阅读全文
摘要:
经典单件public class Singleton { private static Singleton uniqueInstance; private Singleton() {} public static Singleton getInstance()... 阅读全文
摘要:
引言 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。 典型的冲突有: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。脏读:当一... 阅读全文
摘要:
定义:策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。一个使用了策略模式案例的UML类图:(策略模式) 个人见解:策略模式通过封装算法族,使用多态的方式持有FlyBehavevior 和 QuackBehavior 两个算法族的... 阅读全文
摘要:
定义:定义了对象之间的一对多依赖,这样一来,当一个对象状态改变的时候,它的所有依赖者都会收到通知并自动更新。一个实现了观察者模式的气象站(https://github.com/sunhuace/GOF-23.git)UML图:设计原则:个人理解:观察者模式分为两个部分,主题和观察者。也同样利用了J... 阅读全文