首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于不同的具体类,我应该有不同的API方法吗?

对于不同的具体类,我应该有不同的API方法吗?
EN

Stack Overflow用户
提问于 2019-11-28 22:00:43
回答 1查看 45关注 0票数 0

我正在为贺卡写一个API。

卡片只包含行列表和卡片ID。卡片上有一种叫做问候的方法。

一行只是一组字符。

我有一个接口卡和几个实现这个接口的具体类,即ChristmasCard、EasterCard.等。

我正在编写一个API方法,它通过ID返回卡片。

从设计的角度来看,编写基于ID的任何类型卡片的单一API方法更好,还是为每种卡类型编写API更好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-29 10:21:03

这类问题的答案总是一样的:它依赖于,所有的设计模式都有权衡,这就是软件工程。

不过,总的来说,我的方法如下所示。

因此,如果Card是抽象并包含id,那么您可能应该定义返回任何类型的findById (这意味着它将返回抽象类型Card),因为该操作仅使用与Card类的派生项无关的id字段。通过这种方式,API代码将与Card接口的特定实现解耦。如果希望将代码重用到共享相同逻辑的其他Entities中,则可以通过使用泛型来更进一步。

如果您按照您的建议为每个卡片类型编写了一个API,那么您的API将耦合到实现中,因此添加的每一个新派生程序也会影响您的API (您可能应该将新添加的类型添加到您的API中)。

一般来说,您希望依赖于抽象而不是实现细节()。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59096598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档