2012-01-23 27 views
1

这可能是一个普遍问题。
我正在寻找关于如何设计的建议(从架构,我认为这是正确的词,透视)。WPF程序设计

我建立一个应用程序,将包括以下内容:

1) WPF的Windows(目前有这个设置为主要切入点)

2) SQL Server事务(考虑使用CLR SP如该链路建议的)

3)和背景数学

0123的敲击

我试图找出是否应该做这一切的逻辑在一些局部类:

public partial class MainWindow : Window 

,或者我应该在代码在一个单独的类SQL材料......等

任何想法,建议非常感谢!

P.S. SQL连接将在整个时间保持打开状态,如果这会产生影响

+3

进行单独的课程。 – SLaks

+3

什么是泳池问题? – keynesiancross

+0

@yms我正在通过meta寻找,有没有什么具体的不是问所谓的“池”问题?我找不到任何关于避免这样做的具体内容:/。 –

回答

2

一般而言,单责任原则(SRP)是一种很好的实践。这里的一般想法是,你写的每一堂课都有一个改变的理由。

就你而言,你谈论的是一系列至少有两个职责的类:向用户呈现信息和查询数据库。现在,让我们假设在维护应用程序时,需要更改查询数据库的内容。你打开你的Window部分并更改代码,在该类中引入回归的可能性。

现在,您有一个不幸的情况,更改数据库访问逻辑可能会破坏您的GUI。从概念上讲,这是没有意义的,它会让你的应用变得脆弱。如果你把自己的责任分解成了不同的课程,你就不会有这种担心。

分开你的课程。长久以来,你不会后悔。 :)