c# – Repository模式中方法的命名约定?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – Repository模式中方法的命名约定?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1408字,纯文字阅读大概需要3分钟。
内容图文
![c# – Repository模式中方法的命名约定?](/upload/InfoBanner/zyjiaocheng/809/f4c9d4623ddd434db18c0a1ff3c3fc32.jpg)
我正在努力学习更好的软件设计,最近发现了Repository和Service Layer模式.根据我的理解,存储库基本上包含数据访问代码,服务层调用存储库以获取该数据,然后对该数据执行一些逻辑和处理.
到目前为止,阅读这些内容通常没有存储库所具有的一系列方法.但是,存储库通常具有以下方法:
>列表/获取/读取/等.
>创建
>保存
>更新
>删除
我正在尝试理解存储库的命名约定.我该怎么称呼“List / Get / Read / etc.”.方法?我举个例子.
我目前正在开发一个项目,它将从一堆目录和文件中读取.这些文件表示由完全独立且已存在的系统生成的传感器读数.
方法名称应该特定于特定类型的存储库还是更通用的声音名称?如:
通用名称:
interface ISensorRepository
{
IEnumerable<Sensor> GetAll(); / IEnumerable<Sensor> ListAll(); / etc.
Sensor GetByID(int id);
}
实体特定名称:
interface ISensorRepository
{
IEnumerable<Sensor> GetAllSensors(); / IEnumerable<Sensor> ListAllSensors(); / etc.
Sensor GetSensorByID(int id);
}
解决方法:
POEAA中的Martin Fowler将Repository定义为域和数据映射层之间的中介,它的作用类似于内存中的域对象集合.
因为它应该像内存集合一样,我喜欢命名我的方法如下.
public interface IRepository<T> where T : class {
T Create(T entity);
void Create(IList<T> entities);
T Update(T entity);
T FirstOrDefault(Expression<Func<T, bool>> clause);
IEnumerable<T> Where(Expression<Func<T, bool>> clause);
IEnumerable<TResult> Select<TResult>(Expression<Func<T, TResult>> selector);
T First();
IEnumerable<T> All();
}
有关模式的简短讨论,请参见http://martinfowler.com/eaaCatalog/repository.html
内容总结
以上是互联网集市为您收集整理的c# – Repository模式中方法的命名约定?全部内容,希望文章能够帮你解决c# – Repository模式中方法的命名约定?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。