《后端技术面试 38 讲》学习笔记 Day 04

简介: 《后端技术面试 38 讲》学习笔记 Day 04

《后端技术面试 38 讲》学习笔记 Day 04

15丨软件设计的接口隔离原则:如何对类的调用者隐藏类的公有方法?

原文摘抄

接口隔离原则:不应该强迫用户依赖他们不需要的方法。

通过使用接口隔离原则,我们可以将一个实现类的不同方法包装在不同的接口中对外暴露。应用程序只需要依赖它们需要的方法,而不会看到不需要的方法。

使用接口隔离原则,通过多重继承的方式进行接口隔离。

**使用接口隔离原则,就是定义多个接口,不同调用者依赖不同的接口,只看到自己需要的方法。**而实现类则实现这些接口,通过多个接口将类内部不同的方法隔离开来。

Java5 以后版本对所有实现了 Iterable 接口的类都可以使用这种简化的 for 循环进行遍历。(原来是对这个接口的简写,可以应用起来)

心得体会

  1. 相当于一个类通过实现多种接口,而给不同的调用者不同的接口,使得调用者仅可调用部分接口。
  2. 站在调用者的角度来考虑的,防止有过多接口,可能失误使用,导致不必要的异常。也降低了耦合,增加了可读性。

工作体验

  1. 出现过有调用者不清楚接口具体含义的情况下调用了错误的接口,后续实践中,可以采用这一原则,分成多个接口,提高代码可读性。

16 | 设计模式基础:不会灵活应用设计模式,你就没有掌握面向对象编程

原文摘抄

面向对象编程的本质是多态

多态:子类实现父类或者接口的抽象方法,程序使用抽象父类或者接口编程,运行期注入不同的子类,程序就表现出不同的形态,是为多态。

设计模式的精髓是对多态的使用.

模式是可重复的解决方案,人们在编程实践中发现,有些问题是重复出现的,虽然场景各有不同,但是问题的本质是一样的,而解决这些问题的方法也是可以重复使用的。人们把这些可以重复使用的编程方法称为设计模式。设计模式的精髓就是对多态的灵活应用。

“精通设计模式,就是忘了设计模式”

心得体会

  1. 之前的确没有思考过,不同的设计模式中,都用到了哪些编程的特性。后续用到时,还是要好好体会。

工作体验

  1. 正如文章中提到了,面试候选人说到的更多是工厂模式与单例模式。平时手动撸其他设计模式太少了,感觉在框架中应用的多,例如监听spirng上下文启动完毕等。这些扩展点,其实也是一种监听器模式,启动时框架帮你注册了监听器,事件到了调用监听器,只是框架做的工作太多太完善,让我们只需要实现一个接口即可。
  2. 模板方法、监听器模式,适配器模式,享元模式可能是最近用到比较多、比较熟练的模式了
目录
相关文章
|
1月前
|
监控 中间件 Java
后端技术:构建高效、稳定的服务器端应用
【10月更文挑战第5天】后端技术:构建高效、稳定的服务器端应用
79 0
|
1月前
|
JavaScript 前端开发 中间件
探索后端技术:Node.js与Express框架的完美融合
【10月更文挑战第7天】 在当今数字化时代,Web应用已成为日常生活不可或缺的一部分。本文将深入探讨后端技术的两大重要角色——Node.js和Express框架,分析它们如何通过其独特的特性和优势,为现代Web开发提供强大支持。我们将从Node.js的非阻塞I/O和事件驱动机制,到Express框架的简洁路由和中间件特性,全面解析它们的工作原理及应用场景。此外,本文还将分享一些实际开发中的小技巧,帮助你更有效地利用这些技术构建高效、可扩展的Web应用。无论你是刚入门的新手,还是经验丰富的开发者,相信这篇文章都能为你带来新的启发和思考。
|
1月前
|
JavaScript 前端开发 API
探索后端技术:Node.js的优势和实际应用
【10月更文挑战第6天】 在当今数字化时代,后端开发是任何成功软件应用的关键组成部分。本文将深入探讨一种流行的后端技术——Node.js,通过分析其核心优势和实际应用案例,揭示其在现代软件开发中的重要性和潜力。
125 2
|
1月前
|
存储 安全 关系型数据库
后端技术:构建高效稳定的现代Web应用
【10月更文挑战第5天】后端技术:构建高效稳定的现代Web应用
56 1
|
1月前
|
缓存 Java 数据库
后端技术探索:从基础架构到高效开发的实践之路
【10月更文挑战第7天】 在现代软件开发中,后端技术是支撑应用运行的核心。本文将探讨如何从后端的基础架构出发,通过一系列高效的开发实践,提升系统的性能与可靠性。我们将深入分析后端框架的选择、数据库设计、接口开发等关键领域,并提供实用的代码示例和优化策略,帮助开发者构建更稳定、高效的后端系统。通过这篇文章,读者将获得关于后端开发的全面理解和实践指导,从而更好地应对复杂项目需求。
70 0
|
1月前
|
JavaScript API 微服务
探索现代后端开发:关键技术和最佳实践
【10月更文挑战第6天】探索现代后端开发:关键技术和最佳实践
|
1月前
|
存储 安全 关系型数据库
后端技术深度剖析:构建高效稳定的企业级应用
【10月更文挑战第5天】后端技术深度剖析:构建高效稳定的企业级应用
56 0
|
1天前
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
12 1
|
10天前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
30 7
|
8天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
25 2

热门文章

最新文章

下一篇
无影云桌面