gpt4 book ai didi

c# - 设计模式命名和说明 : Provider, 服务,经纪人

转载 作者:可可西里 更新时间:2023-11-01 07:51:50 28 4
gpt4 key购买 nike

有人可以为我定义提供者、服务和代理之间的概念区别吗?

我经常编写 MVC 应用程序并将大部分业务逻辑卸载到其他类。没什么特别的,只需传入参数并接收回 POCO 实例。

为那些为我的 Controller 执行繁重工作的类提供的正确标签是什么?

最佳答案

Provider 实际上只是 Strategy Pattern 的另一个名称

通常,当有人提到使用提供者时,他们谈论的是一些可以存在许多实现的抽象契约。

//As an abstract base class
public void SetupRoles(RoleProvider provider){}

//As an interface
public void SetupRoles(IRoleProvider provider){}

//As a delegate
public void SetupRoles(Action<String> addRole){}

服务通常是指一个只有方法的无状态对象。服务可以用作策略,但不一定非要如此。

//Plain old service... doesn't even need the web
// CRAZY TALK MAN!!!
public static class RoleService
{
public static void SetupRoles(){};
public static String[] GetRoles(){};
}

A Broker真的只是负责好...经纪。它旨在在服务和对象之间移动消息,编排服务之间的交互以使它们保持隔离。

public class Broker
{
public void SendImportantMessage(Message msg)
{
//Do some important processing here
// Maybe some validation
NotifySomeOtherServiceOrClassOrMaybeBobFromAccounting(msg);
}
}

关于c# - 设计模式命名和说明 : Provider, 服务,经纪人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7599343/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com