设计模式FAQ ---- from a begin er to those begin er-to-be (0分)

  • 主题发起人 主题发起人 cheka
  • 开始时间 开始时间
C

cheka

Unregistered / Unconfirmed
GUEST, unregistred user!
设计模式FAQ from a begin
er to those begin
er-to-be

1. Q:什么是设计模式
A:简单地说,设计模式就是软件开发工程师们在进行
面向对象编程中的经验总结。
当你在程序开发中处心积虑基于什么样的原则来构造
一个类,以及绞尽脑汁来规划类与类之间如何通讯时,不
妨尽可能的沿用那些已经过反复实践的模式
2. Q:怎样开始学习模式
A:无论如何,去买下那本同名的书籍《设计模式》,不
是所有让你站在巨人肩膀上的机会都可以用区区39元人民
币换取的。

3. Q:设计模式的先修课
A:不是只有面向对象编程的老手才有资格来学习设计模
式,但是您必须明确自己清楚面向对象的三大要素:封装,
继承,多态。
这里用伪语言写了一段程序,不含任何陷阱,如果您
可以毫不迟疑的说出程序结果,就可以立刻开始设计模式
的学习,否则,最好还是先花些补习时间一下面向对象的
基础。
// -------------------- 类定义 ------------------
class 动物
begin
function 叫;
virtual;
begin
"Hello world"
end;
end;

class 猫 继承自 动物
begin
function 叫;
begin
"喵喵“
end;
end;

class 狗 继承自 动物
begin
function 叫;
begin
"汪汪“
end;
end;

// -------------------- 执行代码 ------------------
procedure main
var cat: 猫;
do
g: 狗;
animal: 动物;
ani: Poiter of 动物;
begin
// 对象创建及析构过程省略
cat.叫;
do
g.叫;
animal.叫;
ani 指向do
g;
ani.叫;
end;

4. Q:很多关于设计模式的资料都是用C++或者Java来讲述
的, 可我是一个Delphi程序员......
A:设计模式就其本身来说没有语言限制(面向对象也是
一样,我见过号称在汇编编程中用OO思想的,一个字
:牛!)但基于许多原因,用Delphi来讲述设计模
式的资料从数量上看远不如 C++ 和 Java ,所以我
个人建议如果有时间不妨先熟悉一下C++的基本语法,
排除掉 运算符重载 还有 模板 这些对于纯Delphi
程序员来说完全陌生的概念,从Object Pascal
到 C++ 并不需要花太多时间,但是关于拷贝构造函
数最好还是看一看,另外指针与引用也是必须熟悉的。
5. Q:学习设计模式光看书就可以了么?
A:不,仅就《设计模式》这本书而言,也不是光看就能
看懂得,功夫在书外。
6. Q:那除了看书,还应该做些什么
A:一 学会寻找身边的Pattern, Delphi中的VCL以及Java
中的JDK 都大量使用了 pattern, 从那些简单的
pattern 开始寻找起,比方说 Absctract Fatory,
Observer 等等。

二 尝试着在自己的程序中套用 pattern, 如果某
天您发现自己对Bridge ,composite 这样相对比
较复杂的模式也已经驾轻就熟,甚至有种欲望想要
把自己的经验也总结成几个Pattern,希望您也给我
们写一份FAQ
---- from an expert to those rookies
 

-----from an begin
ner to design patterns
 
头一次见到 pascal 的设计模式。小心不要把原味儿的设计模式弄馊了。
 

呵呵,请教 mikedeakins 何为原味儿的设计模式?
还有什么样的语言才不会把设计模式弄馊呢。
 
你没发现设计模式的很多东西在 pascal 里面是不能实现的吗?
 
哦? 说几个。
 
关注此话题!听mikedeakins大侠高见!
是不是我也应转回C++了?[?]
 
to mikedeakins :
如果你认为在Delphi里许多模式不能实现的话,那是你对模式还处在套模式的阶段。[:)]
模式是本来就存在于一个对象体系里的,不是套用上去的,呵呵。
仔细想想,模式的最核心的作用就是信息隐蔽,以使每一个类都能够独立地变化[8D]
至少designPatterns书中的模式都是可以用delphi实现的
 
to smartkid:
又看到你,怎么近日轻松些不是?
看到我的问题没,为什么不帮我解释一下,或帮我写点代码看看。
 
to yh:
呵,我是什么时候都轻松,什么时候又都不轻松[:)]
你哪个问题啊?[:)]
 
to smartkid:
够抽象的回答,'什么时候都轻松...'
我的问题,就是这个:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=657850
 
关于“原味儿”大可不必过于认真,倒是面向对象的基本思想需要讨论讨论。
Delphi中的面向对象编程体现的不是很明显(比起C++),主要是因为它的VCL封装得太好了,
使编程变得太方便了,于是Delphi的使用者渐渐忽略了面向对象的思想。
我不敢说这是好还是坏,但有一点,大家慢慢忽视编程时的“设计”,将导致程序臃肿、低效、还有就是维护和再开发的困难。
 
《设计模式》有中文的么? 翻译的怎么样?
否则我就看原版了
 
有中文版的,不过翻译的不行。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
585
import
I
I
回复
0
查看
811
import
I
后退
顶部