游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2605|回复: 9

(建议斑竹)能否开一个系列帖来用C++实现各种设计模式,

[复制链接]

15

主题

129

帖子

129

积分

注册会员

Rank: 2

积分
129
QQ
发表于 2006-10-26 11:32:00 | 显示全部楼层 |阅读模式
      建议斑竹或有能力的人来一起开这个系列帖,把设计模式的形式都用 精简 的小例子表现出来,这样岂不是对初学者帮助很大?比如我(呵呵,居心叵测)
      我也顺便提一个问题,看了“工厂模式”后,好像解决了些问题,可又带来了一些新问题。如:
class Build
{
public:
        virtual Product* produce();
};

class CarBuild:public Build
{
public:
        Product* produce() {return new Car();}
};

class BicycleBuild:public Build
{
public:
        Product* produce(){return new Bicycle();}
};

class Product{};
class Car:public Product{};
class Bicycle:public Product{};
这是我理解的工厂模式,也不知道是不是正确。如果是的话,那么其中有个问题就是以前用switch ...case....来做的事情 现在也就是转变成让用户去做,让用户进行判断,这样好吗?以前的做法用户不用操一点心,而现在把一部分风险转换到用户那去了,虽然容易扩展些。而且,如果有人这样写:
class CarBuild:public Build
{
public:
        Product* produce() {return new Bicycle();}
};

class BicycleBuild:public Build
{
public:
        Product* produce(){return new Car();}
};
其他一样,那用户就算使用正确了,也照样玩完.请大家赐教,猛踩 [em10] [em10] [em10]

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2006-10-26 12:38:00 | 显示全部楼层

Re:(建议斑竹)能否开一个系列帖来用C++实现各种设计模式

类似的东西有了
请自行下载《C++对话》
应该比我讲要更通俗易懂
http://sh.www.7880.com/download_20061016/C++dialog.rar
如果链接无效请自己google一下

29

主题

405

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
发表于 2006-10-27 02:34:00 | 显示全部楼层

Re:(建议斑竹)能否开一个系列帖来用C++实现各种设计模式

马肝兄真是热心啊

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2006-10-27 09:01:00 | 显示全部楼层

Re:(建议斑竹)能否开一个系列帖来用C++实现各种设计模式

这本小册子不错。

23

主题

515

帖子

552

积分

高级会员

Rank: 4

积分
552
发表于 2006-10-27 12:44:00 | 显示全部楼层

Re:(建议斑竹)能否开一个系列帖来用C++实现各种设计模式

没什么意义啊。模式是独立语言的。

15

主题

129

帖子

129

积分

注册会员

Rank: 2

积分
129
QQ
 楼主| 发表于 2006-10-27 20:26:00 | 显示全部楼层

Re: Re:(建议斑竹)能否开一个系列帖来用C++实现各种设计模

疯子阿虹: Re建议斑竹)能否开一个系列帖来用C++实现各种设计模式,这将是利国利民的大好事情啊

没什么意义啊。模式是独立语言的。


模式是独立语言的,可语言的特性也直接支持模式。怎么就没见人用C来做类

0

主题

17

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2007-5-1 21:32:00 | 显示全部楼层

Re:(建议斑竹)能否开一个系列帖来用C++实现各种设计模式

C++的爸爸都60多了吧...

29

主题

405

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
发表于 2007-5-3 02:35:00 | 显示全部楼层

Re:(建议斑竹)能否开一个系列帖来用C++实现各种设计模式

LZ,我可以很负责的告诉你,你错了.

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2007-5-5 09:47:00 | 显示全部楼层

Re:(建议斑竹)能否开一个系列帖来用C++实现各种设计模式

LZ。我也可以负责人的告诉你,你的确错了。
设计模式这种东西。就是太极,你记住的越多,就表示收获的越少。
但是你功力不到一定程度,你是理解不了的。

0

主题

199

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2007-5-5 18:29:00 | 显示全部楼层

Re:(建议斑竹)能否开一个系列帖来用C++实现各种设计模式

离开具体问题来谈模式,是没有意义的
ddoq2008: (建议斑竹)能否开一个系列帖来用C++实现各种设计模式,这将是利国利民的大好事情啊
class Build
{
public:
virtual Product* produce();
};

应该是
virtual Product* produce() = 0;
ddoq2008: (建议斑竹)能否开一个系列帖来用C++实现各种设计模式,这将是利国利民的大好事情啊
那么其中有个问题就是以前用switch ...case....来做的事情 现在也就是转变成让用户去做,让用户进行判断,这样好吗?以前的做法用户不用操一点心,而现在把一部分风险转换到用户那去了,虽然容易扩展些。而且,如果有人这样写:
class CarBuild:public Build
{
public:
Product* produce() {return new Bicycle();}
};

class BicycleBuild:public Build
{
public:
Product* produce(){return new Car();}
};
其他一样,那用户就算使用正确了,也照样玩完

如果不需要扩展,switch的办法当然简单些,但使用工厂模式本来就是为了扩展。如果不需要扩展,使用工厂模式当然没有意义。
至于说用户使用错误了,那怎么能怪到模式上面来呢,再好的方法,你乱用都会错。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 13:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表