在C#中构建框架希望能够将对象保存到数据库中

时间:2013-05-16 14:15:32

标签: c#

这更像是设计/最佳实践的问题。技术解决方案很受欢迎,但我更多地考虑了方法论。

我正在构建一个.net框架。此框架旨在用于可以以不同方式存储数据的各种应用程序(SQL,MySql,Oracle,文件系统等)

框架的目的是处理特定的业务逻辑和交互。

我希望框架能够保存它的各种对象,但用户希望以后检索,但我不想仅使用我使用的存储解决方案(Enterprise SQL Server)将用户绑定

我应该让使用框架的人弄清楚如何存储数据吗?或者我应该尝试构建某种SaveTo / LoadFrom方法,这些方法会根据传入的参数保存到数据库中?

我应该构建一个必须覆盖的保存方法吗?

我应该为每个数据存储解决方案构建一个额外的命名空间/框架吗?

您认为最佳做法是什么?

2 个答案:

答案 0 :(得分:2)

正如其他人已经指出的那样,在C#的这个成熟阶段,构建一些复杂的东西并没有多大意义,因为它有很多优秀的免费工具。

你可能应该在互联网上研究一下有关现有ORM的内容并检查其中是否有任何适合您的要求,如果没有,你可以灵活化你的requeriements以避免从头开始创建东西:)

唯一合理的理由是个人研究目标,但即使在这种情况下,您也应该看一下现有的框架,以便从多年的发展中获得最佳实践。

首发的一些链接:

  • ORM定义(维基百科)
  • NHibernate:.NET框架的成熟的开源对象关系映射器
  • Entity Framework:Microsoft推荐的新应用程序数据访问技术

答案 1 :(得分:0)

  

这更像是设计/最佳实践的问题。技术解决方案很受欢迎,但我正在考虑更多的方法论。   我正在构建一个.net框架。该框架旨在用于可以以不同方式存储数据的各种应用程序

第一段中提到的框架,最佳做法和方法。哇!

我假设你正计划一个相当大的旅程,系好腰带并戴上头盔。 :-) 我强烈推荐:

关于如何编写框架的好书:Framework Guidelines

如何解决设计和复杂性Domain-Driven Design
可以说是最好的做法。

如果你选择EF作为你的ORM(我做过),Julie Lerman有关于这个主题的优秀指南

Programming Entity Framework: Code First
Programming Entity Framework: DbContext

如果需要:OO原则策略和设计模式 例如Design Patterns: Elements of Reusable Object-Oriented Software 如果您熟悉面向对象设计的SOLID原则。然后跳过 并非所有开发者都是。如果不单独工作,请继续关注这一点。

进入深层框架设计后,您将需要使用库来执行许多任务。

几十个例子就是一个控制反转工具,一个日志工具和异常处理工具。一个例子是Microsoft企业库

寻找企业图书馆6书,
Enterprise Library 6 docu and code download

当您介绍各种UI技术和方法时,列表会继续。 假设掌握了所选择的编程语言。你说.net所以我假设C#

进出系统的通讯/消息怎么样? 休息服务?肥皂 ?是否使用WCF ...... ASP.NET选项和方法......在这个空间中要阅读很多内容 什么UI技术和平台。另一个冰山

非常重要的是安全 我从这里开始作为一个不安全的解决方案是无用的 研究 ASP.NET 4.5中的身份和访问控制* l 和* .NET分布式系统架构和安全性

您还应该考虑您的测试方法。 尽早计划。你打算做TDD吗?你将使用什么测试工具。

软件控制? SVN或TFS版本控制在任何框架应用程序中都很重要。

如果您认真学习,请查看PluralSight点播视频网站。 这是一种“相对便宜”的订阅服务。我发现它非常有用。

祝你好运