我正在自学,是我们组织中唯一的开发人员。我已经开始将特定任务拆分到类库中,以便随着组织需求的增长,我可以重用该代码。
我倾向于例如IMailingThingie和MailingThingie在类库中,因为当我添加对库的引用时都解析了。
我也觉得这样可以减少重复代码但导致一些跳跃(例如,以适应每日MailingThingie规则和Monthly MailingThingie规则)
更好的做法是只公开类库中的接口并按项目编写项目实现吗?
我正在使用C#dotNet,但我想这个级别的架构决策是语言中立的......
SolutionRoot1
--ClassLibrary
----IMailing
----Mailing
--Project1
----Reference
--Project2
----Reference
或
SolutionRoot1
--ClassLibrary
----IMailing
--Project1
----Reference
----Mailing
--Project2
----Reference
----Mailing
答案 0 :(得分:1)
如果导致代码重用,最好共享实现。如果由于不同的业务规则而跳过箍,您应该查看继承以允许您共享基础并允许每个项目定义细节。
最佳做法是了解共享界面和共享实现之间的区别,以便在出现问题时选择最佳解决方案。