关于项目接口所处层的问题

我想问一下大牛们,项目中的接口一般定义在哪个层?请注意不是java接口!!是类似与打印机和windows10这样的接口
我想知道在哪层?

项目中处处有接口。理论上,任何独立的模块都存在接口。当然,狭义的接口就是指你团队和别的团队,以及别的公司的开发者所约定的那些公开的接口。
因为这一般涉及业务,所以在业务逻辑层。

一般是放在Service层

一开始准备回答是service,,但是查了下资料,,,感觉放在“数据访问层(DAL)”更合适一点(个人感觉)
打印机,windows底层接口都算是”资源/数据“的访问,

service层的话主要搞逻辑操作,,所以感觉像这种粗活交给数据访问层比较好。

仅是个人理解,,,放在哪没明确苛刻的规定 ,,看需求,看情况