设计模式与架构
NewJerryj
这个作者很懒,什么都没留下…
展开
-
设计模式概念
在面向对象的编程中,软件编程人员更加注重以前的代码的重用性和可维护性。 设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。 一般而言,一个模式有四个基本要素 1. 模式名称(pattern name) 一个助记名, 2. 问题(problem) 描述了应该在何时使用模式。它解释了设计问题和问题存在的前转载 2012-08-31 00:20:09 · 509 阅读 · 0 评论 -
《设计模式》读书笔记之3 — builder生成器
BUILDER(生成器)——对象创建型模式 1.意图: 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 2.适用性: 适用于使用builder模式的情况, a. 当创建复杂对象的方法应该独立于该对象的组成部分以及他们的装配方式时。 b. 当构造过程必须允许被构造的对象有不同的表示时 3. 代码示例:原创 2012-11-23 09:26:31 · 1074 阅读 · 0 评论 -
《设计模式》读书笔记之2 — 创建型模式
1. 创建型模式抽象了实例化的过程 2.创建型模式的两个趋势特点: a. 将关于系统使用哪些具体的类信息封装起来 b. 隐藏了这些类的实例是如何创建和放在一起的 抽象工厂: 3. Abstract Factory(抽象工厂):提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们具体的类。 优缺点: a. 分离了具体的类 b.原创 2012-11-22 09:46:14 · 725 阅读 · 0 评论 -
《设计模式》读书笔记之1 — 序言
1. 什么是设计模式: 每个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 这样,你就能一次又一次的使用该方案,而不必做重复劳动。 2. 模式的四个基本要素: a. 模式名称 b. 问题 c. 解决方案 d. 效果 3. 设计模式如何解决设计问题 a. 寻找合适的对象 b. 决定对象的粒原创 2012-11-19 09:09:08 · 929 阅读 · 0 评论 -
设计模式之 — Command命令模式
1 GOF中的定义 1.1 意图 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作 1.2 结构图 2 初步理解方法调用 代码: View Code public class ClassA { public int Compute()转载 2012-09-02 00:43:03 · 483 阅读 · 0 评论 -
设计模式之 — 策略模式
什么是策略模式 策略模式(Strategy Pattern):定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 策略模式是一种定义了一系列算法的方法,从概念上来看,所以得这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。 策略模式的结构 我们先观转载 2012-09-02 12:44:54 · 768 阅读 · 0 评论 -
设计模式 — 访问者模式(Visitor Method)
问题: 在面向对象系统的设计和开发过程中,由于需求的改变某些类常常需要增加新的功能,但这些类数据元素的层次结构是相对稳定的,如何在不改变各元素的类的前提下定义作用于这些元素的新操作?最常见就是解决方案就是采用继承的方法给已经设计、实现好的类添加新的方法。这样不停地打补丁,系统设计根本就不可能封闭、编译永远都是整个系统代码。访问者模式把数据结构和作用于结构上的操作解耦合,将容易变更的操作封装到一个转载 2012-09-02 17:55:38 · 534 阅读 · 0 评论 -
设计模式之 — Observer 观察者模式
1 GOF中的定义 意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。[GOF 《设计模式》] 结构图 2.概述 个人感觉观察者模式定义的比较不容易理解:什么多个观察者关注某个主题的,这个模式解决的是当一个对象需要调用一系列对象的方法时,并且是被调用方自己注册自己是否被调用,调用方不知道要调用哪些方转载 2012-09-01 17:28:30 · 574 阅读 · 0 评论 -
面向对象设计原则——开放关闭原则
在前天写的BOLG中里面讲了设计中的一些臭味, 那什么才是一个好的设计! 一个好的系统设计应该具有如下的性质:可扩展性、灵活性、可插入性。 1、可扩展性(Extensibility) 容易添加新的功能 2、灵活性(Fiexibility) 代码修改平稳地发生 3、可插入性(pluggability) 容易将一个类抽出去,同转载 2012-09-02 00:58:19 · 614 阅读 · 0 评论 -
设计模式与架构设计的资料收藏
1. C++与设计模式 http://www.cppblog.com/mzty/原创 2012-08-31 00:30:08 · 884 阅读 · 0 评论 -
深入浅出单实例Singleton设计模式
深入浅出单实例Singleton设计模式 陈皓 前序 单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在整个系统中只能出现一个实例。当然,作为一转载 2012-08-30 23:56:37 · 625 阅读 · 0 评论 -
《Head First 设计模式》读书笔记之1:设计模式入门(策略模式)
用一个鸭子模拟游戏为例子,开始我们的设计模式学习之旅。 首先,我们需要设计各种鸭子的父类,包含有鸭子的共同特征和行为: Duck quack() swim() display() .... //鸭子的其他行为特征 后来,PM(产品经理)需要鸭子具有飞行的行为,于是我们觉得很自然得让父类Duck加入了fly()方法, 子类通过继承父类,就都具有了飞行的行为。原创 2013-05-15 08:15:28 · 2377 阅读 · 0 评论