这更像是设计/最佳实践的问题。技术解决方案很受欢迎,但我更多地考虑了方法论。
我正在构建一个.net框架。此框架旨在用于可以以不同方式存储数据的各种应用程序(SQL,MySql,Oracle,文件系统等)
框架的目的是处理特定的业务逻辑和交互。
我希望框架能够保存它的各种对象,但用户希望以后检索,但我不想仅使用我使用的存储解决方案(Enterprise SQL Server)将用户绑定
我应该让使用框架的人弄清楚如何存储数据吗?或者我应该尝试构建某种SaveTo / LoadFrom方法,这些方法会根据传入的参数保存到数据库中?
我应该构建一个必须覆盖的保存方法吗?
我应该为每个数据存储解决方案构建一个额外的命名空间/框架吗?
您认为最佳做法是什么?
答案 0 :(得分:2)
正如其他人已经指出的那样,在C#的这个成熟阶段,构建一些复杂的东西并没有多大意义,因为它有很多优秀的免费工具。
你可能应该在互联网上研究一下有关现有ORM的内容并检查其中是否有任何适合您的要求,如果没有,你可以灵活化你的requeriements以避免从头开始创建东西:)
唯一合理的理由是个人研究目标,但即使在这种情况下,您也应该看一下现有的框架,以便从多年的发展中获得最佳实践。
首发的一些链接:
答案 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点播视频网站。 这是一种“相对便宜”的订阅服务。我发现它非常有用。
祝你好运