面向对象思考

天下难事必作於易。天下大事必作於细。

30分钟理解关键链--《突破项目的瓶颈--关键链 》读书笔记

每一个PMP或者是准PMP都会知道关键链这个词。但能说清楚的应该没有多少。会用的估计更不会超过1/100。希望本文能是大家不用通读原著而理解关键链的概念,只用30分钟。 原著以小说的形式说明的管理学中的关键链的原理及运用方法。小说写得生动,活泼。在不知不觉间,书就读完了。但是在现在的时代...

2013-04-12 20:43:37

阅读数:13970

评论数:3

Android函数计算器(含源码,Android测试工程)

1.Android环境下自己写的函数计算器的源代码,工程文件 2. Android环境下的单元测试工程及源代码。 http://download.csdn.net/detail/craftsman1970/3936698 3.已经上传到Anroid电子市场,可直接安装。 https://m...

2011-12-18 14:41:11

阅读数:5147

评论数:2

Android歌词秀1.5版

功能简介: 0.本软件可以在Android2.1以上(2.1,2.2,2.3测试通过)执行。 1.自动读取与音乐相同位置的歌词文件。 2.根据播放进度,表示当前的歌词 3.按歌词语句快进,快退。 5.选择不同于音乐文件名得歌词文件。(1.5版新增功能) 6.选择歌词文件的编码格式,...

2011-11-27 19:48:51

阅读数:6321

评论数:11

Android小游戏-九宫格,有源码的哦!

为了学习Android,自己编了一个小游戏,就是9宫格。 特点: 1.自动分析可选数字。 2.自动判断结果 3.支持Undo功能(Command设计模式) 4.支持自编题目。   功能简介 主画面 功能: 1.点击项目选择题目 2.按【Menu】键新

2011-08-10 00:18:14

阅读数:6399

评论数:17

Aha!设计模式(21)-工厂方法(2)

动机   框架使用抽象类定义和维护对象之间的关系。这些对象的创建通常也由框架负责。 面向对象编程很多场合其实就是对抽象类编程。我们可以认为,抽象类+抽象类之间的协作构成了架构。在这样的架构中,通常也会包含对象的创建部分。   考虑这样一个应用框架,它可以向用户显示多个文档。在这个框架中,两...

2018-12-12 18:58:36

阅读数:23

评论数:0

Aha!设计模式(20)-工厂方法(1)

意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使一个类的实例化延迟到其子类。   上文中一共有两句话,前一句没有问题,后一句就没有办法理解了:一个类将它自己的示例话延迟到子类是什么意思呢?   解决的办法还是看原文。   Define an...

2018-12-11 19:18:48

阅读数:13

评论数:0

Aha!设计模式(19)-BUILDER(10)

代码示例   《设计模式》中的示例代码因为不完整所以不能编译,而且还有内存泄漏。它真的就是一个示例。本文根据自己的理解将不足的补上,同时在使用智能指针消除内存泄漏的同时尽量小地变更原来的代码。   首先是接口:   《设计模式》书中将实现代码也写在同一个文件中,这里将它们分开: ...

2018-12-10 19:02:49

阅读数:24

评论数:0

Aha!设计模式(18)-BUILDER(9)

实现   2) 为什么产品没有抽象类  通常情况下,由具体生成器生成的产品,它们的表示相差是如此之大以至于给不同的产品以公共父类没有太大意思。在 RTF例子中,ASCIITe xt和TextWidget对象不太可能有公共接口,它们也不需要这样的接口。因为客户通常用合适的具体生成器来配置导向者...

2018-12-05 18:37:36

阅读数:24

评论数:0

Aha!设计模式(17)-BUILDER(8)

实现   通常有一个抽象的Builder类为导向者可能要求创建的每一个构件定义一个操作。这些操作缺省情况下什么都不做。一个ConcreteBuilder类对它有兴趣创建的构件重定义这些操作。   还是那句话,这并不是Builder模式的专利,只要有抽象/具象关系就是这样。   这里是其他...

2018-12-04 20:11:53

阅读数:33

评论数:0

Aha!设计模式(16)-BUILDER(7)

效果   3 ) 它使你可对构造过程进行更精细的控制  Builder模式与一下子就生成产品的创建型模式不同,它是在导向者的控制下一步一步构造产品的。仅当该产品完成时导向者才从生成器中取回它。因此Builder接口相比其他创建型模式能更好的反映产品的构造过程。这使你可以更精细的控制构建过程,...

2018-12-03 18:22:35

阅读数:47

评论数:0

Aha!设计模式(15)-BUILDER(6)

效果   2) 它将构造代码和表示代码分开。   Builder模式将构建对象的代码和表现(表达)对象的代码隔离开。这里的构建偏向于抽象的指示部分,表现(表达)则偏向实际的输出。例如我们说装一扇门,对于建筑模型来讲,可能就是在模型上粘一个小木板;对于现场工人来讲,可能真的就是安装一个防盗门...

2018-11-28 20:13:32

阅读数:39

评论数:0

Aha!设计模式(14)-BUILDER(5)

效果   这里是Builder模式的主要效果: 1 ) 它使你可以改变一个产品的内部表示。   首先明确两个词。一是前面已经提到过《设计模式》书中将representation翻译成表示,作者认为应该译为表现;二是关于内部的理解。当我们用不同的方式盖两座大楼时,它们的内部当然不同,但是大多...

2018-11-27 20:01:13

阅读数:36

评论数:0

Aha!设计模式(13)-BUILDER(4)

参与者   Builder(TextConverter) — 为创建一个Product对象的各个部件指定抽象接口。 •ConcreteBuilder(ASCIIConverter,TeXConverter,TextWidgetConverter) — 实现Builder的接口以构造和装配该产品...

2018-11-26 20:21:11

阅读数:26

评论数:0

Aha!设计模式(12)-BUILDER(3)

适用性   在以下情况使用Builder模式 • 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 • 当构造过程必须允许被构造的对象有不同的表示时。   一般来讲,创造一个复杂对象的处理总是可以拆分成算法(或步骤)的部分和实际生成构件的部分。无论我们希望独立算法还是替...

2018-11-21 20:43:42

阅读数:51

评论数:0

Aha!设计模式(11)-BUILDER(2)

动机 《设计模式》中关于BUILDER动机的说明使用的是RTF文档格式转换的例子。这个例子本身很容易理解,这里就不再重复了。本文只讲作者本人的见解。   还是那一招 本连载提到过:大部分情况下,设计模式也好,面向对象也好其实就是一招,多态。这个结论对于BUILDER模式同样使用。具体到《设...

2018-11-20 19:39:14

阅读数:52

评论数:0

Aha!设计模式(10)-BUILDER(1)

本来抽象工厂模式还有已知应用和相关模式两个模块,但是它们对于理解设计模式没有什么意义,本系列连载会直接省略。   名称 还是先看名称。这个设计模式的英文为BUILDER,中文翻译成了“生成器”,作者认为这个翻译不太好,如果翻译成【构建者】,或者【建造者】没准会更好。【生成器】的说法无法给人构...

2018-11-19 19:59:01

阅读数:33

评论数:0

Aha!设计模式(9)-抽象工厂(8)

代码示例   《设计模式》一书中关于代码示例的说明非常详细,这里不再重复原书中的内容。希望大家自己去读一遍原著,然后再来阅读本文的内容。   基本上每个设计模式的代码示例都会讲一个故事,但是故事并不是设计模式的重点,它只是希望大家相信真的存在需要这个模式的场景。重要的还是类关系和代码。 ...

2018-11-14 20:27:39

阅读数:52

评论数:0

Aha!设计模式(8)-抽象工厂(7)

实 现(续)   2) 创建产品 AbstractFactory仅声明一个创建产品的接口 ,真正创建产品是由 ConcreteProduct子类实现的。最通常的一个办法是为每一个产品定义一个工厂方法(参见Factory Method(3 . 3))。一个具体的工厂将为每个产品重定义该工厂方法以...

2018-11-13 19:49:01

阅读数:98

评论数:0

Aha!设计模式(7)-抽象工厂(6)

实 现   下面是实现Abstract Factor模式的一些有用技术: 1) 将工厂作为单件 一个应用中一般每个产品系列只需一个ConcreteFactory的实例。因此工厂通常最好实现为一个Singleton(3.5)。   只有一句话,但是并没有给出实现。为了说明这个问题,作者按照自...

2018-11-12 18:29:26

阅读数:56

评论数:0

Aha!设计模式(6)-抽象工厂(5)

协作 • 通常在运行时刻创建(唯一的)一个ConcreteFactory类的实例。这一具体的工厂创建具有特定实现的产品对象。为创建不同的产品对象,客户应使用不同的具体工厂。   原书的翻译有一点问题,根据以下的英文原文,作者在这里加上了一个修饰词“唯一的”,这样更准确。另外这里所谓不同的产品...

2018-11-07 20:33:24

阅读数:78

评论数:0

提示
确定要删除当前文章?
取消 删除