【问题标题】:Object oriented design pattern query面向对象的设计模式查询
【发布时间】:2013-04-02 13:02:30
【问题描述】:

我在 SO 上遇到了不同的问题,并试图找出设计应用程序的最佳方法。我发现在某处写着,如果它有一个状态 this,我们应该创建类的对象.

我在同一页面上发现应该避免使用实用程序,所以我的问题是如何实现该功能。我们不能创建对象,因为功能可以有也不能有状态。我们也不能使用静态方法。那怎么办。

P.S----我的问题可能是外行,因为我是新手,正在尝试学习/实施设计模式,所以如果有人可以提供我的阅读材料和示例链接,我会很高兴。

理论上我知道一点设计模式。

【问题讨论】:

  • 我们如何实现which功能?您是否正在寻找一种可以解决任何问题的设计?那不存在。
  • 如果有疑问 - 选择对象。在一般实践中 - 如果您正在创建任何静态类,那么静态类中的任何静态函数都不应使用任何参数/或函数外的成员范围。
  • 在我看来,您正在与基础知识作斗争。如果你不能决定某个东西应该是一个对象还是应该有一个实用程序类,那么你还没有准备好使用高级设计方法,因为你将无法理解你是否在正确的上下文中使用它们,这是必须的,因为设计模式不是灵丹妙药。我并不是说你不应该阅读模式并尝试使用它们,我是说你不应该在现阶段将它们视为法律。

标签: oop design-patterns ooad


【解决方案1】:

您正在阅读指南并将其视为授权,这使您无法使用过于严格的规则进行编码。

指南就是指南,仅此而已。如果不使用实用程序类是个好主意,那么就不要经常使用它们。在有意义的地方谨慎使用它们。

如果使用一些全局变量是一个坏主意(而且确实如此),那就不要经常这样做。但是,如果您需要一个静态助手类,其中包含一个或两个可用于应用程序的变量,那么就在这种情况下执行。

不要将指南视为法律。将它们视为指导方针,并在合理时反对它们。您只能通过编程获得这些知识。所以开始做吧,犯错误,从中吸取教训,并在你前进的过程中改进你的代码。你不会从一开始就完美地完成它。

【讨论】:

  • 这种方法的问题在于,除非你强迫自己完全没有网络(静态“东西”)工作,否则你将无法学习如何在没有网络的情况下正确设计。我不知道有多少人学会了如何避免静态,他们急于将其中的一些添加回去。
  • 请注意,新手可能无法退出“冷火鸡”,但我认为这么多开发人员创建“大泥球”的原因是有人告诉他们类似于上面,他们从来没有超过像拐杖一样依靠静态的阶段。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-05
  • 1970-01-01
  • 1970-01-01
  • 2012-10-29
  • 2012-10-20
  • 1970-01-01
  • 2011-04-12
相关资源
最近更新 更多