Encryption 数据加密是否属于存储库模式?

Encryption 数据加密是否属于存储库模式?,encryption,repository-pattern,Encryption,Repository Pattern,我正在使用应用程序级加密来保护敏感数据。我需要在将字段存储到物理数据库之前对其进行加密,并在用户界面上显示之前对其进行解密 我正在应用应用程序中的存储库模式 数据加密/解密代码属于存储库类内部还是外部 我目前的想法是,当数据处于静止状态时,加密是存储库的一个方面,使用存储库的服务类不应该被这种加密代码弄乱 服务类负责验证和业务逻辑,但加密算法和数据的静态存储方式取决于存储库实现 这是合理的做法还是我遗漏了什么?您当然不希望在服务类中使用加密 从某种意义上说,当你说 但加密算法和数据的静态存储方式

我正在使用应用程序级加密来保护敏感数据。我需要在将字段存储到物理数据库之前对其进行加密,并在用户界面上显示之前对其进行解密

我正在应用应用程序中的存储库模式

数据加密/解密代码属于存储库类内部还是外部

我目前的想法是,当数据处于静止状态时,加密是存储库的一个方面,使用存储库的服务类不应该被这种加密代码弄乱

服务类负责验证和业务逻辑,但加密算法和数据的静态存储方式取决于存储库实现


这是合理的做法还是我遗漏了什么?

您当然不希望在服务类中使用加密

从某种意义上说,当你说

但加密算法和数据的静态存储方式取决于存储库实现


由于加密是数据存储方式的一部分,因此它属于存储库内部。

我将把它放在服务层。原因如下:

从业务规则/域需求的角度来看,加密数据是一种需求吗?是否应该通过测试进行验证?如果是这样的话,您应该将它放在您放置所有其他可测试业务逻辑的相同位置。换句话说,在服务中


就我而言,业务逻辑(加密什么、不加密什么)不属于存储库。当要持久化的对象被提供给存储库时,它们应该准备好进行持久化(或者尽可能地接近)。否则,存储库负责持久化和实现业务规则,然后您就不再真正使用存储库模式了……

+1-这是一个实现细节。让存储库根据需要处理它。同意。问题只存在于存储库中。