美文网首页iOS程序猿
iOS 开发面向对象设计的六大设计原则 - 接口隔离原则(Int

iOS 开发面向对象设计的六大设计原则 - 接口隔离原则(Int

作者: DingGa | 来源:发表于2023-05-15 23:05 被阅读0次

接口隔离原则(Interface Segregation Principle)是面向对象设计中的一种原则,它鼓励将接口分割成更小更专用的接口,这样客户端就只需要依赖它们需要的最小接口,而不是所有的接口。在iOS开发中,我们通常通过协议(Protocol)来实现接口隔离原则。

假设我们有一个应用,需要展示用户的个人信息和用户的朋友列表。如果不遵循接口隔离原则,我们可能会设计一个如下的大接口:

protocol UserInfoManager {
    func fetchUserProfile(completion: @escaping (UserProfile) -> Void)
    func fetchUserFriends(completion: @escaping ([User]) -> Void)
}

然后我们的ViewController就需要实现这个接口:

class ProfileViewController: UserInfoManager {
    func fetchUserProfile(completion: @escaping (UserProfile) -> Void) {
        // Fetch user profile...
    }

    func fetchUserFriends(completion: @escaping ([User]) -> Void) {
        // This method is not needed in ProfileViewController, but we are forced to implement it...
    }
}

你可以看到,ProfileViewController被迫实现了fetchUserFriends方法,尽管它并不需要这个方法。

遵循接口隔离原则,我们应该将UserInfoManager接口分割为两个更小的接口:

protocol UserProfileManager {
    func fetchUserProfile(completion: @escaping (UserProfile) -> Void)
}

protocol UserFriendsManager {
    func fetchUserFriends(completion: @escaping ([User]) -> Void)
}

然后我们的ProfileViewController只需要实现它需要的UserProfileManager接口:

class ProfileViewController: UserProfileManager {
    func fetchUserProfile(completion: @escaping (UserProfile) -> Void) {
        // Fetch user profile...
    }
}

这样,ProfileViewController就不再需要实现它不需要的fetchUserFriends方法了,我们的代码更加清晰,更易于理解和维护。

相关文章

  • 设计模式的设计原则

    设计模式的设计原则 面向对象五大设计原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 开闭原则 设计模...

  • 面向对象设计的六大基本原则

    面向对象设计的六大基本原则: 1)开闭原则 2)里氏代换原则 3)依赖倒转原则 4)接口隔离原则 5)迪米特法则 ...

  • 面试题

    1>面向对象设计原则 单一职责原则,开闭原则,依赖倒置原则(面向接口编程),迪米特原则,里氏替换原则,接口隔离原则...

  • [书摘]《敏捷软件开发: 原则、模式与实践》第一部分:敏捷开发

    面向对象设计的原则 单一职责 开放-封闭 Liskov替换原则 依赖倒置原则 接口隔离原则 重用发布等价原则 共同...

  • 【code_hyy_基础】面向对象设计原则

    单一职责原则,开闭原则,依赖倒置原则(面向接口编程),里氏替换原则,接口隔离原则。 面相对象设计的概念大家也都知道...

  • 面向对象六大原则

    面向对象六大设计原则:

  • 接口隔离原则

    个人博客原文:接口隔离原则 设计模式六大原则之四:接口隔离原则。 简介 姓名 :接口隔离原则 英文名 :Inter...

  • 六大设计原则-接口隔离原则【Interface Segregat

    六大设计原则 单一职责原则 里式替换原则 依赖倒置原则 接口隔离原则 迪米特原则 开闭原则 接口隔离原则 定义: ...

  • OOP之「SOLID」

    SOLID 面向对象设计原则 英文简写名称SRP单一职责原则OCP开放封闭原则LSP里氏替换原则ISP接口隔离原则...

  • Swift设计模式----目录

    面向对象设计原则: 开闭原则 单一职责原则 依赖倒置原则 接口分离原则 迪米特法则 里氏替换原则 面向对象设计模式...

网友评论

    本文标题:iOS 开发面向对象设计的六大设计原则 - 接口隔离原则(Int

    本文链接:https://www.haomeiwen.com/subject/evyvsdtx.html