有很多设计模式,很明显模式本身不是银子弹。但是,根据您的经验,是否存在任何一直导致问题的模式?我想我问的是,是否有某些模式在一段时间后从一个解决方案转变为一个问题呢?
我目前正在处理属于此类别的Singleton类,我想问每个人是否还有其他类似的模式。
答案 0 :(得分:6)
是的,这些被称为antipatterns。我曾经处理的唯一一个(我知道的是我的头脑)是waterfall model。我强烈建议阅读第一个链接,而不是试图描述它们。它有很多有见地的信息!
为了增加一点幽默,你提到“不是银子弹”...... No Silver Bullet:)
答案 1 :(得分:2)
正如Austin在答案中所说,如果你想知道要避免什么,最好阅读反模式 - 但我也会添加'代码味道'。
设计模式仅在应用于解决他们要解决的问题时才有用。我经常重新学习技术并不能解决问题 - 人们会这样做,然后使用技术来实现解决方案。每种设计模式都是特定问题的解决方案,并在实施时解决了这个问题。当实施错误的解决方案时,问题无法解决;通常会变得更糟。
就像你之前的许多其他人一样,你已经遇到了一个单身人士,用来解决一个无法解决的问题。退后一步,再次查看并确定需要解决的问题(或问题)并实施解决它们的设计模式或模式。
简而言之,识别反模式或“代码味道”是件好事,但为了避免设计模式的麻烦,最好准确理解它们要解决的问题,并且只能实现它们。那个特别的问题。