2009-09-06 130 views
0

我正在开发一个程序,它允许用户输入一些信息,然后获取存储并动态创建一个基于它的图像。扩展实体框架

我打算使用实体框架来处理数据,但显然我需要一种方法来生成图像。我的想法是,这样做的“正确”方式是以某种方式扩展数据实体以包含像“CreateImage”这样的函数调用,或者在EF中创建一个名为“DataImage”的独立类,该类将具有“生成“方法。

扩展EF似乎是“纯粹”的方式来做到这一点,但我不知道如何或如果它比使用单独的类更实用。

有关如何使用EF来做到这一点以及如何使用EF的最佳方式的想法?

回答

3

将此功能放在EF中将是对SRP的重大违反。随着应用程序的增长,打破SRP会产生级联负面影响。

您最可能想要采取的方法是一个完全独立的封装图像生成服务,它接受您的EF实体实现的接口。这将您的映像服务从您的数据访问完全分离出来;您可以立即获得完整的可测试性和零依赖关系。

+0

感谢雷克斯, 我对EF很新,只是想知道接口是什么实现的(我用这个工具从数据库创建edmx)。如果你能指点我任何资源...... – 2009-09-06 17:12:43