我目前正在阅读自适应代码:具有设计模式和SOLID原则的敏捷编码,并且在每种原则中,它们都引用“客户”。谁是“客户”?
即使在Wikipedia中: https://en.wikipedia.org/wiki/Interface_segregation_principle
在软件工程领域,接口隔离原则(ISP)规定,不应强迫任何客户端依赖其不使用的方法。
谢谢!
答案 0 :(得分:2)
此处的客户仅指相关代码结构的用户。假设您编写了一个由数组支持的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()