---
# System prepended metadata

title: iOS-Инкубатор.

---

# iOS-Инкубатор.

29 ноября 2022

Нам нужен список дел, который содержит отдельные задачи. Эти задачи можно добавлять и удалять из списка. Каждый пункт должен уметь быть либо выполненным либо нет и содержать дату выполнения. Кроме того, задачи можно решать только в очередности их добавления.

## Закон Деметры

Закон Деметры запрещает использование неявных зависимостей 

> Объект A не должен иметь возможность получить непосредственный доступ к объекту C, если у объекта A есть доступ к объекту B и у объекта B есть доступ к объекту C.


"Взаимодействуй только с непосредственными друзьями, а не с друзьями друзей"


![](https://i.imgur.com/qMNr3ob.png)


```swift=
	/// Добавление в список задания
	/// 
	/// Например, чтобы добавить задачу к списку, надо:
	/// ```
	/// let sut = TodoItem(name: "1", state: .isOpened)
	/// sut.append(item3)
	/// ```
	/// - Parameters:
	///   - element: <#element description#>
	///   - index: <#index description#>
	///   - date: <#date description#>
	/// - Returns: <#description#>
	public func append(_ element: TaskListElement, index: Int, date: Date) -> String {
		elements.enqueue(element)
		return ""
	}
```