2013-10-10 68 views
-1

我要在开始之前开始新的大项目,我想要一些很好的建议。需要帮助,为新项目选择一个框架

1 - 要求既是桌面应用程序又是Web应用程序,但与Desktop相比,Web功能更少。

2 - 对于桌面我们决定WPF。

3-我们可以用于web,ASP.NET或Silverlight?

4-我们希望在项目Desktop和Web中使用业务层和包装类,所以PRISM是好的(PRISM,因为我们有多个模块)?

5-使用棱镜我们应该使用MEF/Unity?

6-项目将支持多个数据库,如MS Access,SQL,Oracle。

7-由于我认为LINQ to SQL,实体框架不支持MS Access,所以ORM应该使用上述要求。

请指教。

+3

所有这些答复都只能根据需求,预算和资源来回答。 –

+0

建议的意见:不要单靠这个项目。它会成为一两个团队的项目。 –

+0

建议的另一个词 - oracle和access之间有很大的区别...访问是否真的是一个需求?即使SQL Server Express是另一个更好的自由选择。 – Paddy

回答

1

以上所有工作都取决于您的需求。用户界面可能会在一段时间后有任何问题,您的持卡人可能会要求您为移动设备开发相同的设备。所以也要考虑未来的范围和要求。

在决定任何编程策略之前,我会建议您先让您先看看SOLID principles

这里是我对你的问题的答案。

1 - 将代码分解为只包含UI功能的UI部分,例如对于桌面,您具有WPF UI,而对于Web,则具有较高的MVC或Silverlight UI。

2 - 为桌面应用程序选择WPF是个不错的主意,因为它具有许多灵活的功能。

3 - 选择任何UI层取决于您。你只需要在它上面创建UI工作。其他要处理成不同的模块。

4-如果你想使用代码的不同平台确保你的类和模块是非常便携的,以便可以支持到不同的平台。

5-选择是你的模块化。我为MEF推荐。

6-为此,你应该有你的数据访问层不同势模块中,从而可以用来为SQL,甲骨文,访问等

7扩展你可以创建你的包装使用ORM。

如果您需要了解其他内容,请告诉我。

+0

哪个应该使用ORM,EF,LINQtoSQL,NHibernate ..? –

+0

现在不要想到ORM。他们是依赖关系。这些会让你的大脑陷入特定的数据库。去模型的Poco类,并通过基础Intervace实现的包装来使用它们来进行数据访问。例如IDataAdaptor – JSJ