大运天成赖搏击

进步最重要

导航

2011年10月29日 #

设计模式学习-每日一记(12.轻量模式)

摘要: 轻量模式A.定义:运用共享技术有效地支持大量细粒度对象。B.定义分析:“运用共享技术有效地支持大量细粒度对象”.比如,一段文字,一幅图片,一个颜色,所有用到的地方,都使用同一个对象,而不是每次都new出一个新的实例。“运用共享技术有效地支持大量细粒度对象”.比如,一个文档编辑器,里边的字符,图形,标点等等,如果每个单一的元素都用一个对象实例的话,那对象数量就会很多很多。C.问题:(1)共享技术怎么有效地支持大量细粒度的对象?建立一个共享对象池,所有的实例请求都经过共享池的接口,这样就达到了共享对象的目的。需要注意的是,为了是共享实例能够多个地方使用,需要区分对象的内部状态和外部状态,内部状态不 阅读全文

posted @ 2011-10-29 18:31 linucos 阅读(329) 评论(0) 推荐(0)

设计模式学习-每日一记(11.代理模式)

摘要: 代理模式A.定义:为其他对象提供一种代理,以控制对这个对象的访问。B.定义分析:"为其他对象提供一种代理,以控制对这个对象的访问。"代理的意思就是:访问目标的中间对象,也就是我们不直接访问目标,而是通过一个中间对象访问目标对象,这个中间对象就是代理。"为其他对象提供一种代理,以控制对这个对象的访问。"不直接访问需要的对象,而是访问代理对象,代理对象完成被代理的目标对象的功能。那为什么要用代理呢?当我们希望访问目标对象时候,我们被通知,或者期间我们需要控制一些东西...当目标对象不在同一个地址空间,而我们要希望没有区别的访问的时候...当目标对象很大,加载 阅读全文

posted @ 2011-10-29 18:24 linucos 阅读(154) 评论(0) 推荐(0)

设计模式学习-每日一记(10.组合模式)

摘要: 组合模式A.定义:把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。B.定义分析:"把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。"整体部分关系,比如:Window这个对象,其中可以包括Button,List,Menu等组件,Window就是个整体,Button,List,Menu等就是组成部分."把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。"如果上边的Window里包含了List,同时也包含了另一个Window对象,里 阅读全文

posted @ 2011-10-29 18:14 linucos 阅读(203) 评论(0) 推荐(0)

2011年10月28日 #

设计模式学习-每日一记(9.装饰者模式)

摘要: 装饰者模式A.定义:动态地给一个对象添加一些职责。就增加功能而言,装饰者模式比生成子类更灵活。B.定义分析:"动态地给一个对象添加一些职责。就增加功能而言,装饰者模式比生成子类更灵活。"我们知道,对象的职责定义在类中,类的方法决定了对象的职责."动态地给一个对象添加一些职责。就增加功能而言,装饰者模式比生成子类更灵活。"装饰者模式的意图是不修改类,而是动态给对象添加职责."动态地给一个对象添加一些职责。就增加功能而言,装饰者模式比生成子类更灵活。"装饰者不修改类,而是动态给对象加,当然灵活.C.问题:(1)怎么实现?假设有类A和Sub 阅读全文

posted @ 2011-10-28 17:16 linucos 阅读(205) 评论(0) 推荐(0)

设计模式学习-每日一记(8.桥接模式)

摘要: 桥接模式A.定义:将抽象部分和它的实现部分分离,使他们可以独立的变化.B.定义分析:"将抽象部分和它的实现部分分离,使他们可以独立的变化."抽象部分,比如我们写一个gui tookit,里边有个Window类,这个类代表了窗口,提供了窗口的功能接口如:close、open、resize、moveto等等.基类的接口,我们可以理解为抽象部分."将抽象部分和它的实现部分分离,使他们可以独立的变化."实现部分,上边说抽象部分是Window类,实现Window的功能:我们有方法法a:直接在Window类的定义中,绘制Window的轮廓、外形、标题栏、滚动条等等, 阅读全文

posted @ 2011-10-28 09:03 linucos 阅读(201) 评论(0) 推荐(0)

usaco-1.1.1-PROB Your Ride Is Here

摘要: Your Ride is HereA.题目大意:给两个字符串,有大写字母组成,A代表数字1,其他字母依次下排.计算一个字符串内数字乘积,如果这两个字符串乘积模47相等的话输出GO,否则输出STAY.B.题目分析:题目比较简单,分析省略。注意源码格式。C.代码: 1 /* 2 { 3 ID: linucos1 4 PROG: ride 5 LANG: C++ 6 } 7 */ 8 #include <iostream> 9 #include <fstream>10 #include <string>11 12 using namespace std;13 14 阅读全文

posted @ 2011-10-28 08:38 linucos 阅读(237) 评论(0) 推荐(0)

设计模式学习-每日一记(7.适配器模式)

摘要: 适配器模式A.定义:将一个类的接口装换成客户希望的另一个接口,适配器模式使原来不能一起工作的类可以一起工作.B.定义分析:"将一个类的接口装换成客户希望的另一个接口,适配器模式使原来不能一起工作的类可以一起工作."一个已有类,有一些接口,完成一些功能.假设类A"将一个类的接口装换成客户希望的另一个接口,适配器模式使原来不能一起工作的类可以一起工作."把这些已有的接口通过封装,能够融合进已有的类体系,也就是从已有类继承出一个类B,这个类封装了A的功能,同时适应了已有接口."将一个类的接口装换成客户希望的另一个接口,适配器模式使原来不能一起工作的类 阅读全文

posted @ 2011-10-28 08:26 linucos 阅读(177) 评论(0) 推荐(0)

2011年10月27日 #

canvas一句话备忘录

摘要: 1. 简单canvas入门<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/ht 阅读全文

posted @ 2011-10-27 14:02 linucos 阅读(281) 评论(0) 推荐(0)

设计模式学习-每日一记(6.原型模式)

摘要: 原型模式A.定义:用原型实例指定创建对象的种类,通过拷贝原型实例创建新的对象.B.定义分析:"用原型实例指定创建对象的种类,通过拷贝原型实例创建新的对象."原型实例指的是一个类的实例,对于我们要创建的对象来说,称之为原型."用原型实例指定创建对象的种类,通过拷贝原型实例创建新的对象."我们将要创建的对象,和原型实例是一类的,也就是一个类."用原型实例指定创建对象的种类,通过拷贝原型实例创建新的对象."我们创建新对象的时候,不用自己new,只需要原型类提供的clone方法创建新的实例即可.这个模式很容以就想到了,而且是需要的时候就会想到 阅读全文

posted @ 2011-10-27 12:25 linucos 阅读(161) 评论(0) 推荐(0)

设计模式学习-每日一记(5.创建者模式)

摘要: 创建者模式A.定义:将一个复杂对象的创建过程和表示分离,使相同的创建过程可以构造不同的表示.B.定义分析:"将一个复杂对象的创建过程和表示分离,使相同的创建过程可以构造不同的表示."我们假设一个对象很复杂,组成部分很多分别为PA,PB,PC,PD."将一个复杂对象的创建过程和表示分离,使相同的创建过程可以构造不同的表示."我们建设创建接口分别为BuildPA, BuildPB, BuildPC,BuildPD,且每个部分都有多种原料选择.我们说的原料比如颜色,就是“表示”.创建过程就是BuildPx的接口一次调用,这个过程永远不变.创建者模式就是让这不变 阅读全文

posted @ 2011-10-27 12:00 linucos 阅读(174) 评论(0) 推荐(0)