gpt4 book ai didi

c# - 架构问题 : Services

转载 作者:行者123 更新时间:2023-11-30 22:42:18 25 4
gpt4 key购买 nike

VS2K8,C#。我目前有以下项目的解决方案:

核心 - POCO 域对象和数据接口(interface)

数据 - 存储库模式。实现 Core 中定义的接口(interface)。还有 Fluent NHibernate 的映射类。

基础架构 - 用于依赖注入(inject)、配置 nhibernate 等

测试 - 测试 [核心、数据等测试]

网络 - MVC2 网络项目

现在,话虽如此,我正在尝试确定添加以下内容的最佳行动方案:加入邮件列表、提交联系信息等。

我不认为这些应该在网络中。而且我不认为它们需要放在数据中,保存邮件列表信息和联系信息时保存,fwiw。

听起来这应该放在核心级别。话虽如此,如果放在 Core 中,它将依赖于保存到数据库中。我对放置它的位置以及如何构建它感到有点困惑。你们走什么路线?

这是否只是在核心层创建一个名为 MailingList 的接口(interface)和一个名为 JoinMailingList(emailAddress) 的方法,然后在 Data 上实现该接口(interface)这样简单的事情?这听起来不像是最佳途径,因为这是一个商业问题。想法?

最佳答案

添加服务库并在您的核心库中包含服务接口(interface)。

public interface IMailingListService
{
void Subscribe(string email);
void Unsubscribe(string email);
}

public interface IMailingListRepository
{
MailingList LoadMailingList();
void SaveMailingList(MailingList list);
}

public class MailingListService: IMailingListService
{
private IMailingListRepository _repository;

public MailingList(IMailingListRepository repository)
{
_repository = repository;
}

public void Subscribe(string email)
{
var list = _repository.LoadMailingList();
list.Subscribe(email);
_repository.SaveMailingList(list);
}
}

关于c# - 架构问题 : Services,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4473727/

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