Конкурентно програмиране II


В тази публикация ще си говорим за основните градивни единици на всяка програма в Elixir - процесите. Досега ги споменавахме на доста места, защото нямаше как да избегнем това. Всъщност процесите в Elixir идват от Erlang. Когато включим и процесите в описанието на езика, за Elixir можем да кажем следното:

[...]


Грешки и Вход-Изход


Видяхме какво представлява Elixir вътре в процесите. Имаме някаква идея какво представлява Elixir като множество комуникиращи си процеси (ще разберем повече в следващата публикация). Тъй като всяка програма си комуникира по някакъв начин с външния свят ще обърнем внимание на Elixir и в контекста на външния свят.

[...]


Протоколи


Протоколите са начин за постигане на полиморфизъм в Elixir. Те ни предоставят механизъм, чрез който вече съществуващо поведение може да се имплементира за нов тип от данни. Използвайки протоколи можем да си построим библиотека, която да е възможно да бъде разширявана от този, който я ползва.

[...]


Структури


С помощта на речниците в Elixir, можем да създаваме нещо като свои собствени типове. Това са Map-ове с име и точно определени ключове, които са обвързани с модул, чийто функции обикновено боравят с тях.

Почти всички функции за работа с речници могат да работят със структури, затова е добре да сте запознати с публикацията на тема “речници” преди да прочетете тази.

[...]