UITableView 集合与 DIP。PoC

UITableView 集合与 DIP。PoC

这是一个PoC项目,展示了使用可重用的UITableViewCell实现依赖反转原则。

依赖反转原则

  • 高级模块不应从低级模块导入任何内容。两者都应该依赖于抽象(例如,接口)。
  • 抽象不应依赖于细节。细节(具体实现)应该取决于抽象。

一般概念

Роль ViewModel слоя (всё, что на белом фоне) заключается в согласовании Domain API c UI API. В этот слой входят:

  1. ViewModelProtocol'ы – контракты, которые реализует View слой.Это минимально необходимый интерфейс (отсылка к ISP)
  2. Адаптеры, которые конвертируют Domain API в UI I/O Framework API и обратно

TLDR;

Слой нужен для реализации инкапсуляции на уровне слоя/модуля.

Если возникает вопрос "зОчем?" стоит ответить себе на другой вопрос: "Для чего в OOП языки включены такие конструкции как set/get, области видимости, private, internal, public?Что будет если всё сделать просто public?”

一般概念

Implementation for collections with reusable cells

То же самое, только для таблиц. Болше стрелок богу стрелок

General concept

GitHub

点击跳转