微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 操作实体的类的名称

我有一个关于命名约定的一般问题.

如果我将数据和操作分成两个单独的类.一个具有数据元素(实体),另一个类操纵实体类.我们通常称那个操纵实体类的类是什么?

(我指的实体与任何类型的实体框架无关)

经理?控制器?操作符?机械手?

提前致谢

解决方法

这取决于您在这些数据合同/实体上执行的操作类型.以下是我的一些惯例.让我们使用Fruit实体的例子(我并不是要暗示这些都是静态方法,只是伪代码):

>存储库:为一块水果提供CRUD操作

> FruitRepository.Save(Fruit item);

>经理:简单CRUD之外的操作.

> InventoryManager.ShipFruit(Fruit []项,字符串地址);

>控制器:保留用于接口,如在模型 – 视图 – 控制器中.使界面或流程决策如何在水果上显示或操作.

> FruitController.ShowDetails(string fruitId);

>处理器:用于“批处理”在一起的操作.通常这些都是长期运行或脱机完成的.

> FruitProcessor.RemoveSeeds(Fruit [] lotsOfFruit);

>操纵器:对单个实体或其集合提供特定操作.

> FruitManipulator.PeelFruit(水果项目);

>提供商:提供更广泛或全球的运营.

> FruitProvider.GetAllTypesOfFruit();
> FruitProvider.IsInSeason(string fruitName);

>导出器:将一些水果转换为用于文件存储或传输的格式.

> FruitExporter.Save(字符串电子表格);

>分析仪:提供有关单个水果或数量的结果.

> FruitAnalyzer.Weigh(Fruit []项目);

>服务:以松散耦合或远程访问方式公开功能.
>汇编程序:通过组合不同的数据源来创建水果.

> FruitAssembler.Combine(string speciesFile,string quantityFile);

>工厂:负责创建/实例化水果.

> FruitFactory.CreateApple(); //红色美味,麦金托什等

>构建器:提供通过单个部件/属性构建水果的方法.

> FruitBuilder.AddSeeds(5); FruitBuilder.Addstem();

这些都有些松散.主要目标是在您自己的代码库中保持一致,避免与您正在使用的技术发生冲突 – 即.如果您正在使用ASP.NET MVC,那么没有很多不是控制器的Controller类.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐