C# 多租户和代码重复-如何通过;撰写;逻辑
我有一个多租户应用程序,租户很少,每个租户都需要少量定制 我发现我们的许多代码库包含如下逻辑:C# 多租户和代码重复-如何通过;撰写;逻辑,c#,asp.net,architecture,multi-tenant,C#,Asp.net,Architecture,Multi Tenant,我有一个多租户应用程序,租户很少,每个租户都需要少量定制 我发现我们的许多代码库包含如下逻辑: public async Task<Banana> PeelBanana(Banana banana) { if (_tenant == Tenant.A){ NotifyMonkey(); } else if (_tenant == Tenant.B){ GetCoconut(); }
public async Task<Banana> PeelBanana(Banana banana)
{
if (_tenant == Tenant.A){
NotifyMonkey();
} else if (_tenant == Tenant.B){
GetCoconut();
}
banana.FinishPeeling();
return banana;
}
公共异步任务PeelBanana(香蕉香蕉)
{
如果(_tenant==tenant.A){
NotifyMonkey();
}else if(_tenant==tenant.B){
getcouch();
}
香蕉。完成的感觉();
还香蕉;
}
是否有某种模式可以解决这种情况,在这种情况下,我需要根据某些标准组合逻辑?根据其他代码的组织,您可以使用以下方式:
public async Task<Banana> PeelBanana(Banana banana)
{
_tenant.OnPeelBanana(banana);
banana.FinishPeeling();
return banana;
}
公共异步任务PeelBanana(香蕉香蕉)
{
_承租人:OnPeelBanana(香蕉);
香蕉。完成的感觉();
还香蕉;
}
并使用租户
类的不同子类型。当然,这取决于NotifyMonkey
之类的函数可以移动到那里,也可以从那里访问