C#如何在应用程序中存储解析数据?
这是一个相当普遍的问题,但它涉及到整个应用程序设计。我正在尝试创建一个遵循类设计标准的应用程序,我正在努力解决一个问题,那就是如何在内部存储信息 例如,我可以为具有两个字段的电影创建一个类:C#如何在应用程序中存储解析数据?,c#,database,C#,Database,这是一个相当普遍的问题,但它涉及到整个应用程序设计。我正在尝试创建一个遵循类设计标准的应用程序,我正在努力解决一个问题,那就是如何在内部存储信息 例如,我可以为具有两个字段的电影创建一个类: 头衔 年 导演 因此,当我解析包含此元数据的xml文件时,我会将它们加载到公共列表中。我不确定这是不是一个正确的方法?因为列表是一个对象的实例,所以它可能不属于定义电影的类 这是一个公开列表,它将在应用程序的其他部分提供 我看不到在应用程序活动期间多次解析xml文件的任何意义。访问数据库(如SQLite
- 头衔
- 年
- 导演
谢谢解析XML文件的类不应该存储结果。如果该类解析电影列表,它应该只返回一个
IEnumerable
,然后该类的调用者可以将结果存储到它想存储的任何地方。这是一个相当普遍的问题,根据您的需要,有很多方法可以实现。下面是一个非常基本的方法,它应该与许多方法向前兼容
IList
classmovielist:IList
),该类公开所需的数据。如果你愿意,它可以缓存它。没必要。现在,写一篇文章\u myList=container.Resolve
。这样您可以替换不同的数据提供程序,或者替换模拟提供程序进行单元测试MovieList
的实现以包括缓存,或将数据存储在数据库中,或任何您想要的内容。或者您可以在新类中完全重写它,并更改IoC容器的配置以指向新类。您将拥有各种选项。(缓存或不缓存的决定最终将取决于NFR,如存储容量、性能和并发性/)我不认为简单地将整个列表存储在一个全局变量中而不进行某种抽象化是一个好主意。在适当的地方。不清楚你的问题是什么,只是你想得太难。原型化。依赖注入,但不要将OOD视为唯一的路径或任何编程范例r、 “在初学者的心目中,有很多可能性,在专家的心目中,可能性很少。”当涉及到艺术时,始终是初学者,包括但不限于应用程序设计。我还想用几句话来扩展singleton模式,它对OOD有效,因为在现实世界中,我们必须去一些地方获取信息(例如,人力资源部获取我们的保险信息)但是它被滥用了,就像你永远听不到的
goto
一样。我会看看MVVM或MVC等MV*模式。@Will也许我想得太多了。但是我想知道其他人对这种常见情况做了什么。@Philip Rollins我没有想到MVVM和MVC。我会看看它们。谢谢我这么认为。Class它只是一个对象的蓝图,所以在执行publicstaticvoidmain()的过程中,其他方法基本上可以使用这个列表非常有帮助。谢谢。我已经完成了我应用程序的大部分部分,但这是我第一次尝试使用类来完成。我以前使用全局变量来实现这一目的。不幸的是,当您开始使用OOP时,有些事情还不太清楚。再次感谢您!