《设计模式》学习笔记0——说明

之前也一直有学设计模式,不过总是断断续续的,都是网上这里找点资料,那里找点博客这样学,在这个过程中也曾产出了策略模式单例模式等博客记录。
但是这些学习过程,可能是由于直接进入设计模式,而没有先好好学习设计原则的缘故,导致学的快也忘得快。

根据刘伟老师的《设计模式》博客及书籍所说,设计模式常用的解释是这样的:

设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。

一般来说,这种能被反复使用东西,总是会有那么一些规律存在,正是这些规律,才使得重用变成可能,而其中一部分规律,我暂且就理解为设计原则。
那么就像学会了、理解了设计模式可能让我们更好的理解面向对象,更好的进行开发设计一样,理解和掌握了设计原则,也能让我们更好的理解设计模式、更好的使用设计模式。

本来,依照一开始的计划,在本次《maven实战》的学习阶段性结束后,下一步应该是eclipse、svn、gradle之类的学习,但是考虑到这一次工作中spring+struts2+mybatis重构成springboot+jpa的开发中,设计层面实在是惨不忍睹,因此我对计划略作修改,决定现在开始先系统性的学习一下设计模式。

这一次的学习主要是依据《head first设计模式》和刘伟老师的《设计模式》以及博客开展,根据刘伟老师书中开篇的描述,设计模式一般般是这样的:

设计模式一般包含模式名称、问题、目的、解决方案、效果等组成要素,其中关键要素是模式名称、问题、解决方案和效果。

所以接下来的学习中应当紧紧围绕着这几个层面入手,力求每一个模式的这几个点都确实掌握并能适当的应用。

时间: 2024-09-24 01:40:11

《设计模式》学习笔记0——说明的相关文章

设计模式学习笔记系列

设计模式学习笔记(二十二)-FlyWeight享元模式 设计模式学习笔记(二十一)-Composite模式 设计模式学习笔记(二十)-Visitor访问者模式 设计模式学习笔记(十九)-Chain of Responsibility职责链模式 设计模式学习笔记(十八)-Mediator中介者模式 设计模式学习笔记(十七)-Memento备忘录模式 设计模式学习笔记(十六)-Proxy模式 设计模式学习笔记(十五)-State模式 设计模式学习笔记(十四)-Command模式 设计模式学习笔记(十

设计模式学习笔记(十)—Factory Method模式

<设计模式>一书对Factory Method模式是这样描述的: 定义一个用于创建对象的接口,让子类决定实例化哪一个类.FactoryMethod使一个类的实例化延迟到其子类. 我的理解:FatoryMethod模式是一种创建型模式,定义一个用于创建对象的接口的意思是说,我们要定义一个用于创建对象的接口(或者说抽象类,实际上就是个抽象工厂abstractFactory),它的内部有一个创建对象的方法,这个方法的返回值是一个接口(或者抽象类)的类型,这个方法就是FactoryMethod:让子类

设计模式学习笔记(二十一)—Composite模式

今天开始学习Composite模式,首先让我们看一下它的定义: 将对象组合成树形结构以表示"整体-部分"的层次结构.Composite模式使单个对象和组合对象的使用具有一致性. 下面给出这个模式的结构图: 如果把Composite模式看成是树形结构的话,那么它主要角色有: 1)树干角色(Component):该角色是一个抽象类,它定义了一些操作增删树叶(Leaf)的操作. 2)树枝角色(Composite):树枝上有很多树干,树枝也是树干的一种. 3)树叶角色(Leaf):树干上的树叶

设计模式学习笔记(十三)—Iterator迭代器模式

Iterator模式定义: 提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示. 这个模式在java的类库中已经实现了,在java中所有的集合类都实现了Conllection接口,而Conllection接口又继承了Iterable接口,该接口有一个iterator方法,也就是所以的集合类都可以通过这个iterator方法来转换成Iterator类,用Iterator对象中的hasnext方法来判断是否还有下个元素,next方法来顺序获取集合类中的对象.今天面试考到设计模式,

我的设计模式学习笔记------&amp;gt;Java设计模式总概况

设计模式(Design Pattern)的概念最早起源于建筑设计大师Alexander的<建筑的永恒方法>一书,尽管Alexander的著作是针对建筑领域的,但是他的观点实际上用用于所有的工程设计领域,其中也包括软件设计领域.在<建筑的永恒方法>一书中是这样描述模式的: 模式是一条由三个部分组成的通用规则:他表示一个特定环境.一类问题和一个解决方案之间的关系.每一个模式描述了一个不断重复发生的问题,以及该问题解决方案的核心设计. 软件领域的设计模式也有类似的定义:设计模式是对处于特

我的设计模式学习笔记------&amp;gt;单例模式(Singleton)

一.前言 有些时候,允许自由创建某个类的实例是没有意义,还可能造成系统性能下降(因为创建对象所带来的系统开销问题).例如整个Windows系统只有一个窗口管理器,只有一个回收站等.在Java EE应用中可能只需要一个数据库引擎访问点,Hibernate访问时只需要一个SessionFactory实例,如果在系统中为它们创建多个实例就没有太大的意义. 如果一个类始终只能创建一个实例,则这个类被称为单例类,这种模式就被称为单例模式. 对Spring框架而言,可以在配置Bean实例时指定scope="

hadoop MapReduce设计模式学习笔记

使用MapReduce解决任何问题之前,我们需要考虑如何设计.并不是任何时候都需要map和reduce job. 1 MapReduce设计模式(MapReduce Design Pattern)         1.1 Input-Map-Reduce-Output         1.2 Input-Map-Output         1.3 Input-Multiple Maps-Reduce-Output         1.4 Input-Map-Combiner-Reduce-Ou

C#设计模式学习笔记-单例模式

本文转载:http://www.cnblogs.com/xun126/archive/2011/03/09/1970807.html最近在学设计模式,学到创建型模式的时候,碰到单例模式(或叫单件模式),现在整理一下笔记. 在<Design Patterns:Elements of Resuable Object-Oriented Software>中的定义是:Ensure a class only has one instance,and provide a global point of a

设计模式学习笔记(二十二)—FlyWeight享元模式

一.FlyWeight模式定义: 运用共享技术有效地支持大量细粒度对象. 二.模式解说 也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象.在Flyweight模式中,由于要产生各种各样的对象,所以在Flyweight(享元)模式中常出现Factory模式.Flyweight的内部状态是用来共享的,Flyweight factory负责维护一个对象存储池(Flyweight Pool)来存放内部状态的对象.Flyweight模式是一个提高程序效率和性能的