2011-03-28 28 views
0

我在教自己,因为我去了,并且是我们组织中唯一的开发者。我已经开始将特定任务分解到类库中,以便随着组织需求的增长,我可以重新使用该代码。dotnet应该只是一个类库只暴露一个接口或一个实现

我倾向于例如IMailingThingie和MailingThingie在类库中,因为当我添加对库的引用时都解决了。

我也觉得像这样可以减少重复的代码,但导致了一些箍跳跃(例如,以适应日常MailingThingie规则和每月MailingThingie规则)

是更好的做法是只暴露在类库中的接口并以项目为基础对项目的实现进行编码?

我使用C#的dotNet,但我想在这个级别的架构决策是语言中性...

SolutionRoot1 
--ClassLibrary 
----IMailing 
----Mailing 
--Project1 
----Reference 
--Project2 
----Reference 

SolutionRoot1 
--ClassLibrary 
----IMailing 
--Project1 
----Reference 
----Mailing 
--Project2 
----Reference 
----Mailing 

回答

1

它的更好,如果导致代码共享的实现再利用。如果因为不同的业务规则而陷入困境,则应该考虑继承以允许您分享基本知识并允许每个项目定义具体内容。

最好的做法是了解共享接口和共享实施的区别,以便您可以选择给出问题的最佳解决方案。

相关问题