headfirst专题

[HeadFirst] SerDe

SerDe - Serialization/Deserialization 对象可以被序列化也可以被展开 对象有状态和行为两个属性。行为存在于类中,而状态存在于个别对象之中。所以需要存储对象状态时发生什么事?如存储和恢复游戏功能,存储和打开Draw的功能。

[HeadFirst] Static Memeber Final Rules

1. Static Member static kw标记出不需要类实例的方法。一个静态方法代表说“一种不依靠实例变量也就是不需要对象的行为”。 静态变量 - 静态方法 实例变量 - 实例方法(这里的实例指的是只能通过实例访问的非静态的变量和方法) 1.1 静态方法不能调用实例变量(非静态的变量) 静态的方法是不知道堆上有哪些实例的,因为静态方法没有维护一个对象的引用(即指向堆对象的

[HeadFirst] try-catch-finally

try-catch-finally 当调用有风险时,有两种事情可能会发生。该方法成功地把try块执行完,不然就会把异常抛出。 public static void testTry_catch_finally(){try {out.println("try block");throw new IOException("Test: try-catch-finally");out.pri

《headfirst设计模式》读书笔记14-剩下的模式

目录 1. 桥接1.1 TV.h1.2 TVFactory.h1.3 RemoteControl.h1.4 RemoteControl.cpp1.5 LG.h1.6 LG.cpp1.7 GenericRemote.h1.8 GenericRemote.cpp 2. 生成器2.1 类图和部分源码2.1.1 VacationBuilder.h2.1.2 Accommodation.h2.1.3

《headfirst设计模式》读书笔记10-状态模式

目录 1. 糖果机2. 看图写代码2.1 GumballMachine.h2.2 GumballMachine.cpp 3. 定义状态模式4. 部分源码4.1 State.h4.2 HasQuarterState.h4.3 HasQuarterState.cpp4.4 GumballMachine.h 5.策略模式和状态模式的区别 1. 糖果机 这是一个状态图,糖果机有“糖果售

《HeadFirst设计模式》(4)——工厂模式

文章目录 前言简单工厂模式工厂方法模式模式定义设计原则问题场景类图代码 抽象工厂模式问题场景模式定义类图代码 工厂方法模式v.s. 抽象工厂模式 前言 当我们使用new实例化具体类时,针对的是实现编程,而不是接口,这会让代码缺乏弹性。比如` Pizza chickenPizza = new chickenPizza(); 虽然左边使用了接口,但右面还是得建立具体类的实例。当

读《HeadFirst设计模式》笔记之命令模式

为什么80%的码农都做不了架构师?>>>    命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 四种角色: Command:定义命令的统一接口 ConcreteCommand:Command接口的实现者,用来执行具体的命令,某些情况下可以直接用来充当Receiver。 Receiver:命令的实际执行者 Invoker:命令的请

HeadFirst(九)TemplateMethod 模板方法设计模式

模板方法模式 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。 模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。   每一个子类都必须为模板方法中抽象的步骤提供完整的实现   抽象父类中可以使用钩子(hook),让子类决定是否需要执行某些步骤             茶与咖啡   抽象父类 package templateMethod;/*** 模板方法:

HeadFirst(八)Facade 外观/门面设计模式

外观/门面模式-Facade 提供一个统一的接口,用来访问子系统中的一群接口。 外观定义了一个高层的接口,让子系统更容易被使用。   简化接口,将客户从一个复杂的子系统中解耦 外观模式,将子系统组合进外观中,然后将工作委托给子系统执行 可以为一个子系统实现一个以上的外观          设计原则 Least Knowledge 不要让太多的类耦合在一起,避免修改系统的一部分,影响到其它部分

【电子书】HeadFirst设计模式--FDF高清版

HeadFirst设计模式–FDF高清版 下载地址: 链接: https://pan.baidu.com/s/1rFzsMk93j_2MBciFKPIvJQ 提取码: 5y9d