设计模式 - 架构宇航员

41

也许我的问题与这个类似: 你使用设计模式吗?

我编写的程序主要是使用 Windows FormsASP.NET,代码量大约在50-75 K行左右。这些程序需要进行GUI设计和布局,包括各种图形和图形处理。

我认为自己很擅长面向对象编程(OOP),并且擅长平衡OOP和传统的过程式方法以创建易于维护的代码。

问题出现在我考虑设计模式时。链接的线程有一个有趣的评论,即可能使用设计模式,但没有刻意这样做。当我想有意识地使用设计模式(在程序设计中),感觉就像我正在超越所需的范围,我在“架构宇航员”的领域中,所以我回到传统的方法,一切都正常进行。

以MVC模式为例。如果我想使用 Windows Forms 或 ASP.NET (Visual Studio 2005) 实现此模式,那么我必须编写一个“框架”,而编写框架似乎比应用程序的规模还要麻烦。

也许我的应用程序太小了,无法证明使用某些模式的必要性。也许我只是不够了解这些模式或需要更深入地研究它们。

是否有其他人有过这种“架构宇航员”的感觉?

如何有意识地使用设计模式而不过度使用呢?


3
好问题,但它可能适合放在http://programmers.stackexchange.com/上。 - Hamish Grubijan
或者在https://softwareengineering.stackexchange.com上找到它。 - user1451111
12个回答

0
你正在一个由大公司设定模式的环境中工作,我认为这解释了你的感受。而且你可能是对的。我们这些在开放环境中使用自由开源软件语言解决更广泛问题的人有无尽的选择,阅读设计模式可以帮助我们做出关于架构的明智决策。通常这意味着选择正确的库。而你所工作的狭窄领域的选择已经为你做好了。

0

在我看来,一个人需要具备以下几点:

  1. 对于不同的设计模式有良好的理解和权衡利弊的能力
  2. 明确你的应用程序的设计目的,并确保将模式的优点充分利用。

以MVC模式为例。如果我想使用WinForms或ASP.NET(VS 2005)实现此模式,则必须编写一个“框架”,而编写框架似乎比应用程序的规模还要麻烦。

你的Web应用程序需要有效的SEO吗?在ASP.NET中实现MVC模式可以帮助解决这个问题。以SO URL为例。它们之所以在搜索引擎上得到了很好的优化,主要是因为ASP.NET支持MVC模式实现并已在SO设计/开发中有效使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接