【问题标题】:What does "Client" mean when referencing SOLID principles?引用 SOLID 原则时,“客户”是什么意思?
【发布时间】:2018-12-07 04:40:30
【问题描述】:

我目前正在阅读自适应代码:采用设计模式和 SOLID 原则的敏捷编码,并且在每个原则中它们都引用了“客户端”。谁是“客户”?

即使在维基百科中: https://en.wikipedia.org/wiki/Interface_segregation_principle

在软件工程领域,接口隔离原则 (ISP) 指出,不应强迫任何客户端依赖它不使用的方法。

谢谢!

【问题讨论】:

    标签: solid-principles


    【解决方案1】:

    这里的客户只是指有问题的代码结构的用户。因此,假设您编写了一个由数组支持的 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()
    

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 2010-12-22
      • 1970-01-01
      • 2013-05-27
      • 2012-11-19
      • 2018-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多