Head First 设计模式 —— 00. 引子】的更多相关文章

Head First 学习原则 P xxx 可视化:图片使得学习效率更高,更易懂 交谈式:第一人称交谈方式讲述学习内容更易引起注意 多思考:自主思考练习题和拓展知识的问题 保持注意力集中:将知识融合进有趣.亮眼的内容中,不断引起并保持注意力 影响情绪:关心.好奇.有趣.自豪感等有助于提高记忆能力 学习方法 P xxxiii 多理解,少记忆:自主思考,先得出自己的结论,再看看参考答案 多练习,多做笔记:实际动手将改善学习效果 阅读思考题和问答题:思考题有助于解决学习过程中的疑惑 睡前少输入:睡前的…
1 Fluent案例(21篇) [Fluent案例]01 空气流经障碍物 [Fluent案例]02:Tesla阀 [Fluent案例]03:RAE2822翼型外流场计算 [Fluent案例]04:多孔介质 [Fluent案例]05:非牛顿流体流动 [Fluent案例]06:流化床 [Fluent案例]07:气力输送 [Fluent案例]08:沸腾 [Fluent案例]09:造波 [Fluent案例]10:Adjoint求解器 [Fluent案例]11:流固耦合[1] [Fluent案例]11:流…
开篇 [java设计模式]-01设计模式简介 创建型模式: [java设计模式]-02工厂模式(Factory Pattern) [java设计模式]-03抽象工厂模式(Abstract Factory Pattern) [java设计模式]-04单例模式(Singleton Pattern) [java设计模式]-05建造者模式(Builder Pattern) [java设计模式]-06原型模式(Prototype Pattern) 结构型模式: [java设计模式]-07适配器模式(Ada…
     今天是设计模式的第二讲,抽象工厂的设计模式,我们还是延续老办法,一步一步的.演变的来讲,先来看看一个对象创建的问题. 1.如何创建一个对象 常规的对象创建方法: 这样的创建对象没有任何问题,也可以很好的使用.但是如果有需求的变化,比如,如果我们换了一种道路呢,这时候就出现了问题. new的问题: -实现依赖,不能应对"具体实例化类型"的变化,Road是具体类型,所有使用到Road的地方都需要变化.如果经常变化,怎么解决具体类型的变化呢? 解决思路: -封装变化点--哪里变化,…
一.引子(概括地介绍Java的IO) 无论是哪种编程语言,输入跟输出都是重要的一部分,Java也不例外,而且Java将输入/输出的功能和使用范畴做了很大的扩充.它采用了流的 机制来实现输入/输出,所谓流,就是数据的有序排列,而流可以是从某个源(称为流源或Source of Stream)出来,到某个目的地(称为流汇或Sink of Stream)去的.由流的方向,可以分成输入流和输出流,一个程序从输入流读取数据向输出流写数据. 如,一个程序可以用FileInputStream类从一个磁盘文件读取…
装饰者模式:动态的将责任附加到对象上,若要扩展功能,装饰者提供了比集成更有弹性的替代方案.设计原则:1:封装变化2:多用组合,少用继承3:针对接口编程,不针对实现编程4:为对象之间的松耦合设计而努力5:对修改关闭,对扩展开放 用Head First 设计模式中的例子. 一个咖啡店,会有各种类型的咖啡,还会给咖啡加上各种辅料,计算价钱的时候当然要加上辅料的价钱. 显然,可能不可能为每一种可能性的咖啡都写一个方法.类似于这种问题,就可以用到装饰者模式类解决. 直接看代码 abstract class…
在阎宏博士的<JAVA与模式>一书中开头是这样描述模板方法(Template Method)模式的: 模板方法模式是类的行为模式.准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现.这就是模板方法模式的用意. 模板方法模式的结构 模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术. 模板方法模式需要开发抽象类和具体子类的设计师之间的协作…
概述 首先说明一下,简单工厂模式不属于23种GOF设计模式之一.它也称作静态工厂方法模式,是工厂方法模式的特殊实现.这里对简单工厂模式进行介绍,是为本系列后面的工厂方法和抽象工厂模式做一个引子. 定义 “专门定义一个类来负责创建其他类的实例,被创建的实例常常具有共同的父类.” 实际上就是由一个工厂类,根据传入的参数,动态的决定创建出哪一个产品类的实例. 结构图 结构图的讲解在示例中再进行说明. 示例 进入代码之前,咱们先将示例的情景说明一下:在项目开发中,我们有时会遇到需要绘制各种统计图形的需求…
来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_原型模式.prototype.浅复制.深复制.Cloneable接口  浅复制 package com.test.prototype; import java.util.Date; /** * 浅复制 */ public class Sheep implements Cloneable{//Cloneable为标记接口 private String sname; private Date birthday; @Over…
一.定义 装饰者模式可用来透明地把对象包装在具有同样接口的另一个对象之中.这样一来,你可以给一个方法添加一些行为,然后将方法调用传递给原始对象.相对于创建子类来说,使用装饰者对象是一种更灵活的选择(装饰者提供比继承更有弹性的替代方案). 装饰者用于通过重载方法的形式添加新功能,该模式可以在被装饰者前面或者后面加上自己的行为以达到特定的目的. 二.举例 2.1 装饰者是一种实现继承的替代方案.当脚本运行时,在子类中添加行为会影响原有类所有的实例,而装饰者却不然.取而代之的是它能给不同对象各自添加新…