我正在学习设计模式,并且有一个问题。
例如,这是第一个设计。
形状形状-
>红色圆圈形状-
>蓝色圆圈形状-
>红色正方形形状-
>蓝色正方形
...
第二个设计
形状形状-
>圆圈形状-
>正方形形状- >圆圈-
>红色圆圈形状- >圆圈-
>蓝色圆形-
>正方形->红色正方形-
>正方形
- > BlueSquare ...
多亏托尼,我想出了一个情况。在第一个设计中,Shape类是抽象的,现在我只具有“ Red Square”和“ Blue Square”的功能。这意味着我无法在Shape类中定义函数,但需要在“红色正方形”和“蓝色正方形”中一个接一个地进行操作。与第二种设计的情况相同,我可以将新功能放在“平方”类中。
现在,我的问题是我是否正确,还有其他可以使用的设计吗?
您的问题不够具体,无法给出可靠的答案。在评论中进行讨论后,很明显您正在积极尝试学习设计模式,因此对于您而言,提出最佳问题的最佳方法可能并不十分清楚。我提供此作为答案,所以我有键入空间。
资源
dofactory-寻找符合我需求的模式时,我将其用作参考源。
从头开始设计模式-我用这本书很好地介绍了设计模式以及如何使用它们。学习设计模式是我理解开发的关键点。它向您展示了如何真正使用接口和抽象来实现软件开发中的常见问题。
设计模式初学者指南-不错的文章,可帮助您开始设计模式。
Javascript设计模式-(BONUS)这个网站对于学习JavaScript设计模式来说是不可思议的。我要说明的是我在下面提出的关于查找所用任何语言的设计模式的观点。
查看工厂时,您会发现模式分为三个区域:创造,结构,行为。寻找模式时,请了解您要实现的目标。
一些提示
我希望这个答案可以帮助您指导学习设计模式的道路。我知道它并不能完全回答您的问题,但是希望它可以帮助您更好地理解,并使您能够返回有关设计模式和代码用法的更具体的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句