当前播放: Java中将接口和实现放在同一层里对吗?
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
合辑:新版短视频
Kafka某台broker IO阻塞,为何会导致发送方无法发送消息?
什么是C++中的The Rule of Three?
基于时序特性,如何构建一个时序存储引擎?
如何利用反射和泛型编程让你的Java代码更优雅?
C++中为什么move constructor需要加noexcept?
如何使用Postman做接口自动化测试?
给你点“颜色”瞧瞧
如何用Spark实现一个通用大数据计算引擎?
如何让你的Robot Framework飞起来?
如何透彻理解Selenium和WebDriver?
Spring Data JPA 如何进行复杂动态查询?
Spring Data JPA如何实现动态部分更新?
未来的编程语言长什么样?
高并发场景下锁的使用技巧(悲观锁/乐观锁/分布式锁)
为什么React组件要声明key?
为什么React不推荐使用Mixin?
如何设计一个高可用的配置中心?
如何通过代码技巧提升内存使用效率?
如何全面地改造Robust?
如何基于Netty构建一个简单的RPC服务?
Spring Boot中如何使用HTTP/2?
教你10分钟玩转Gradle plugin
如何深入理解Kube-Proxy?
如何深入理解Kubernetes架构?
如何使用和优化iOS中的WebView?
一个1000万资金重复支付的代码剖析
如何实现数据异构的多级缓存策略?
如何从 CRD 扩展开发切入Kubernetes源码学习?
如何更轻松简单地从源码编译部署Kubernetes?
如何设计并实现一个高可用的订单系统?
ZooKeeper的ZAB算法与Paxos的本质区别是什么?
微服务框架Apache ServiceComb的设计思想有哪些?
如何深入理解分布式事务TCC实现原理?
SSR 、CSR、预渲染、同构等首屏优化技术要如何选择?
如何利用ClassPath解决Java开发工程问题?
如何读懂Babel转换出的JavaScript代码?
大厂前端面试中经常提到的Promise要如何实现?
使用 Vue 开发小程序是怎么做到的?
为什么CSS要放在header底部,JavaScript要放在body底部?
前端Router是怎么实现的?
如何理解现代发布策略?以Kubernetes为例
JavaScript中如何封装一个具有自动失败重试功能的HTTP模块?
JavaScript中如何优雅地实现函数防抖?
服务发现技术是如何演进出来的?
HTTP/2能带来哪些性能提升?
如何快速对请求链路的关键点进行网络问题排查?
React 中如何实现模块的按需加载?
究竟要不要使用React Hooks?
TLS1.3原理以及在Nginx上的应用
如何利用有效的资源扛住618大促流量?

Java中将接口和实现放在同一层里对吗?

阎华 京东 7FRESH系统架构负责人

通常在三层架构中,我们会把 Service 的接口和实现类都放在 service 包下面,这是没问题的,把 Dao 接口和 Dao 实现类都放在 dao 包下面,这却是错误的。这是为什么呢?这一具体问题的背后隐藏着软件代码组织的哪些逻辑呢?

作者介绍

阎华,京东 7FRESH 系统架构负责人,京东零售子集团技术专家委员会成员,拥有超过 15 年的软件开发和设计经验,一直致力于探索系统复杂性应对之道。最近两年负责了生鲜电商平台 7FRESH 的应用系统的整体架构设计工作,对微服务和 DDD 等架构风格进行了深入而有益的尝试。

展开
¥4.99 购买
开通VIP
40
登录 后留言

精选留言(7)

  • lcy362
    拽了一大堆名词,到最后也没说清楚一开始的方式到底有什么问题。
    程序设计是一个很务实的学科,所有的规范都是为了解决实际问题出现的,如果一个设计方式挑不出来任何毛病,只是不符合你的规范,那只能说明你这个规范有问题
    2019-08-31
    1
    11
  • 厉害了我的国
    说得很好,忙于实现业务功能而忽视代码质量
    2019-08-30
    3
  • Geek_c7dc6b
    分层主要为了复用和封装变化,service和impl通常是对上层提供服务,先有服务接口,才能有消费方根据接口消费,而这个提供服务和实现通常是一个团队内部完成编码实现的,所以才是将接口和实现放在一起,接口给消费方。而dao和具体实现也是服务内部开发人员维护,为了方便业务逻辑的稳定性,将dao接口与业务逻辑放在一起,可以不改变业务逻辑的情况下,修改底层数据实现和切换。
    2019-09-23
    1
  • Seven
    为什么Service的接口和实现类放在一个包下是正确的呢?对于Controller来说,Service层是不是也是下层了?
    2019-09-15
    1
  • 拂尘
    嘿嘿,这个听了两遍,第一次听应该在一两个月以前,我的感受也是一脸懵逼感觉很虚幻,但不过这两个月学习了一些设计模式对架构有了更深的理解,就感觉很明白老师的意思了,哈哈哈。感受到自己的进步
    2019-11-25
  • 欧阳群刚
    希望讲的通俗易懂一些
    2019-10-18
  • 一心向北_
    赞,隔着屏幕也能感受到老师的cool👍
    2019-08-30
收起评论
其他推荐
36:19
Go工程项目实践
毛剑 bilibili数据平台部技术总监
免费
43:04
大规模实时图计算在PayPal风险管理系统的应用
张彭善 PayPal大数据研发架构师
试看
41:43
互联网金融产品个性化营销算法的探索和实践
赵争超 同盾科技资深算法专家
试看