在c#中构建框架,希望能够将对象保存到数据库中
本文关键字:对象 保存 数据库 希望 构建 框架 | 更新日期: 2023-09-27 18:14:09
这是一个设计/最佳实践的问题。技术上的解决方案是值得赞赏的,但我更看重的是方法论。
我正在构建一个。net框架。这个框架的目的是用于各种应用程序,可能以不同的方式存储数据(SQL, MySql, Oracle,文件系统等)
框架的目的是处理特定的业务逻辑和交互。
我希望框架能够保存它的各种对象,然而用户想要以后检索,但我不想绑定用户只使用我使用的存储解决方案(企业SQL Server)
我应该让使用框架的人弄清楚如何存储数据吗?或者我应该尝试建立某种SaveTo/LoadFrom方法,根据传入的参数保存到数据库?
我应该建立一个必须重写的保存方法吗?
我应该为每个数据存储解决方案构建一个额外的命名空间/框架吗?
你认为最好的做法是什么?
正如其他人已经指出的那样,在c#的这个成熟阶段,拥有大量优秀的免费工具来构建如此复杂的东西是没有多大意义的。
你可能应该在网上研究一下现有的ORM,看看它们是否适合你的需求,如果不是,你可以灵活地调整你的需求,以避免从头开始创建一些东西:)
唯一合理的理由是个人的研究目标,但即使在这种情况下,您也应该看看现有的框架,从多年的发展中获得最佳实践。
起始点:
- ORM定义(Wikipedia)
- NHibernate:成熟的。net框架的开源对象关系映射器
- 实体框架:微软为新应用程序推荐的数据访问技术
这是一个设计/最佳实践的问题。技术上的解决方案是值得赞赏的,但我更看重的是方法论。我正在构建一个。net框架。这个框架旨在用于各种可能以不同方式存储数据的应用程序
第一段提到的框架、最佳实践和方法。哇!
我假设你正在计划一个相当大的旅程,系好安全带,戴上头盔。:-)我强烈推荐:
关于如何编写框架的好书:框架指南
如何处理设计和复杂性——领域驱动设计
可以说是最好的实践。
如果你选择EF作为你的ORM(我就是这么做的)Julie Lerman有关于这个话题的优秀指南
Programming Entity Framework: Code First
编程实体框架:DbContext
如果需要:OO原则、策略和设计模式例如设计模式:可重用的面向对象软件的元素如果你熟悉面向对象设计的SOLID原则。然后跳过。并非所有开发者都是如此。所以,如果不是单独工作的话,请继续关注。
一旦你深入了解了框架设计,你会想在很多任务中使用库。
只是一个例子,一个反转控制工具,一个日志工具和异常处理工具。一个例子是Microsoft Enterprise Library
寻找企业图书馆6的书,
Enterprise Library 6文档及代码下载
当您介绍各种UI技术和方法时,这个列表还在继续。假定所选择的编程语言已经掌握。你说的是。net,所以我假设是c#
系统内外的通信/消息传递如何?休息服务?肥皂?是否使用WCF…ASP。. NET选项和方法…在这个空间里有很多东西要读什么UI技术和平台。另一个冰山
非常重要的是安全性我从这里开始,因为不安全的解决方案是无用的ASP中身份与访问控制* 1的研究。NET 4.5和* 。. NET分布式系统架构与安全
您还应该考虑您的测试方法。尽早计划。你要做TDD吗?你会使用什么测试工具
软件控制?SVN或TFS版本控制对任何框架应用程序都很重要。
如果你是认真的学习,看看PluralSight点播视频网站。这是一种"相对便宜"的订阅服务。我发现它很有用。
好运