solid-principles - 引用 SOLID 原则时,“客户”是什么意思?
问题描述
我目前正在阅读自适应代码:具有设计模式和 SOLID 原则的敏捷编码,并且在每个原则中它们都引用了“客户端”。谁是“客户”?
即使在维基百科中: https ://en.wikipedia.org/wiki/Interface_segregation_principle
在软件工程领域,接口分离原则 (ISP) 指出不应强迫任何客户端依赖它不使用的方法。
谢谢!
解决方案
这里的客户只是指有问题的代码结构的用户。因此,假设您编写了一个Queue
由数组支持的类:
class Queue:
void enqueue(item)
item dequeue()
void resize() // doubles the size of the array if it's full
用户可能是您自己,如果您将自己的Queue
类导入其他地方,或者可能是其他开发人员,如果他们正在使用您的队列类。然后在这种情况下,您的客户端不依赖于调整大小(队列类在内部调用它,所以它不是供用户调用的),接口应该只公开队列功能所需的内容
interface QueueI:
void enqueue(item)
item dequeue()
推荐阅读
- python-3.x - 如何获取运行 client_connected_cb 的 asyncio.start_server 创建的任务
- node.js - 防止 Sequelize Join 返回包含表的主键
- python - DataFrame.to_sql 相当于在 psycopg2 中使用“返回 id”?
- javascript - 在 Vite.js 和 Vue 中使用 socket.io-client
- algorithm - 如何确定嵌套 for 循环的步数?
- python - Python Dataframe 是/否检查器
- rust - 如何将 2D vec 作为切片传递给函数?
- android - 将数据从活动发送到第 3 方活动的对象
- powershell - 在 Powershell Get-ADUser -Filter 中使用变量
- android - 使用服务进行两项活动