Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# repo方法命名约定_C#_Design Patterns_Architecture_Data Access Layer - Fatal编程技术网

C# repo方法命名约定

C# repo方法命名约定,c#,design-patterns,architecture,data-access-layer,C#,Design Patterns,Architecture,Data Access Layer,我正在为新应用程序中的存储库层创建一个参考模型。我从UserRepository开始。我喜欢在repo级别遵循CRUD(Create-Read-Update-Delete)命名约定。对于GetById方法来说,这感觉很自然: 公共用户读取(int-userId) 对于搜索方法来说,似乎感觉不那么自然: 公共列表读取(用户查询) 您是否曾经尝试过为您的存储库遵循CRUD命名约定?您是按照我上面定义的第二个方法签名的方式定义搜索方法签名,还是遵循不同的命名约定?我想给出我的存储库。类似于Add(),

我正在为新应用程序中的存储库层创建一个参考模型。我从UserRepository开始。我喜欢在repo级别遵循CRUD(Create-Read-Update-Delete)命名约定。对于GetById方法来说,这感觉很自然:

公共用户读取(int-userId)

对于搜索方法来说,似乎感觉不那么自然:

公共列表读取(用户查询)


您是否曾经尝试过为您的存储库遵循CRUD命名约定?您是按照我上面定义的第二个方法签名的方式定义搜索方法签名,还是遵循不同的命名约定?

我想给出我的存储库。类似于
Add()
Remove()
和一系列
Get()

不一定是
Update()
,因为告诉集合更新元素没有多大意义,所以通常从集合中获取对象,然后直接修改它

这来自于域驱动的设计视角,其中存储库的原始定义是内存集合的幻觉。存储库接口是在域层定义的,因此它不应该有任何与持久性相关的引用

简单地说,存储库只是一个包,您可以查看、添加和删除它


Search()
非常适合这一愿景。您还可以使用使搜索条件更加流畅和可重用。

我喜欢提供我的存储库。类似于
Add()
Remove()
和一系列
Get()

不一定是
Update()
,因为告诉集合更新元素没有多大意义,所以通常从集合中获取对象,然后直接修改它

这来自于域驱动的设计视角,其中存储库的原始定义是内存集合的幻觉。存储库接口是在域层定义的,因此它不应该有任何与持久性相关的引用

简单地说,存储库只是一个包,您可以查看、添加和删除它

Search()
非常适合这一愿景。您还可以使用使搜索条件更加流畅和可重用。

值得一读:值得一读: