设计模式入门——Head First】的更多相关文章

大年初一,楼主在这里给大家拜年,祝大家码上升职加薪,码上有对象结婚,码上有车有房,幸福安康. 过完年,回学校注册报道之后,大概就要回深圳到公司开始实习了.提高自己,无非就有两种方式,一是看书学习,二是实践体悟.起码有两个月没怎么看过专业书和写过代码了,现在趁过年这段时间赶紧看看书,给自己充充电. 为什么要学习设计模式 在学校里面学习一些基础编程课程之后,例如掌握一门编程语言,以及学习算法与数据结构,难道我们就掌握了编程的全部了么?当然不是,如果我们只是满足于写出所谓正确的代码,输入变量,得出结果…
// test01.cpp : Defines the entry point for the console application.////第一章,设计模式入门,策略模式#include "stdafx.h"#include "test01.h" class FlyBehavior{public:    virtual void fly(){};}; class FlyWithWings:public FlyBehavior{public: void fly()…
有没有想过设计模式到底是什么?通过本文可以看到设计模式为什么这么重要,通过几个Python的示例展示为什么需要设计模式,以及如何使用. 设计模式是什么? 设计模式是经过总结.优化的,对我们经常会碰到的一些编程问题的可重用解决方案.一个设计模式并不像一个类或一个库那样能够直接作用于我们的代码.反之,设计模式更为高级,它是一种必须在特定情形下实现的一种方法模板.设计模式不会绑定具体的编程语言.一个好的设计模式应该能够用大部分编程语言实现(如果做不到全部的话,具体取决于语言特性).最为重要的是,设计模…
1.概念 在开始学习前,我们先了解一些概念,方便我们接下来的学习. OO基础 抽象 继承 多态 封装 OO原则 封装变化 多用组合,少用继承 针对接口编程,不针对实现编程 设计模式 设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结.使用设计模式的目的:为了代码可重用性.让代码更容易被他人理解.保证代码可靠性. -- 来自百度百科 2.案例 我们从一个案例项目开始我们的学习之旅. 项目背景 Joe上班的公司做了一套相当成功的模拟鸭子游戏:Sim…
设计模式是被前人发现.经过总结形成了一套某一类问题的一般性解决方案.使用模式最好的方式是:把模式装进脑子,然后在设计和已有的应用中,寻找何处可以使用它们.以往是代码复用,现在是经验复用. 从模拟鸭子游戏说起 初始需求:各种鸭子(野鸭MallardDuck.红头鸭RedheadDuck等),一边游泳swim,一边呱呱叫quack,每种鸭子外观都不同display. 初始方案:设计一个鸭子超类,并让各种鸭子继承此超类. 需求变更:让鸭子能够飞fly. 方案1:在Duck类中加上fly(). 结果:所…
// test07.cpp : Defines the entry point for the console application.// #include "stdafx.h"//设计模式第7章 适配器模式 class Duck{public: virtual void quack() = 0; virtual void fly() = 0;}; class MallardDuck : public Duck{public: void quack() { printf("…
// test06.cpp : Defines the entry point for the console application.////设计模式第5章 命令模式#include "stdafx.h"#include <string>#include <iostream> using namespace std;class Command{public:    virtual void execute(){}}; class Light{    strin…
// test05.cpp : Defines the entry point for the console application.// #include "stdafx.h"//设计模式第5章 单件模式 class Singleton{private:    static Singleton* uniqueInstance; private:    Singleton(){} public:    static synchronized Singleton* getInstanc…
// test04.cpp : Defines the entry point for the console application.////设计模式第4章 工厂模式#include "stdafx.h"#include <string>#include <vector>#include <iostream>using namespace std;class Pizza{public:    string name;    string dough…
// test03.cpp : Defines the entry point for the console application.////设计模式第3章 装饰者模式#include "stdafx.h"#include <string>#include <iostream>//#include <cstring>using namespace std;class Beverage{public:    string description /*…