Comments 10
По факту какой-то чувак запили статью про своё обучение. Протоколы по факту хорошо разложены в видосах Дейва Абрамса с ввдц и так же рекомендую заглянуть в его твиттер.
0
… про своё обучение...
Непохоже.
в видосах Дейва Абрамса с ввдц
Ссылка на «видос» упомянута в заключении перевода.
0
Это просто нашлёпки из плейграунда, которые есть у каждого кто более мене в теме. Было бы намного полезней если бы это был кусок кода из реального проекта, решающего реальную задачу. Тогда там бы никаких птичек и мотоциклов не было. Дженерик не про птички и мотоциклы, в самом деле. И не про конченный тип Result. Дженерик это про алгоритмы и только. Нет, ну ок, топ спид он высрал. Но это слишком мало для целой статьи.
-2
Оригинальная статья, как и перевод, заявлены как Tutorial, т.е. как материал для начинающих разбираться в этой теме. Поэтому естественно тут про «птичек и мотоциклы», а не куски непонятно какого проекта, по той же причине всё в плейграунде. Как туториал текст вполне подойдёт, а для тех, кто хочет поглубже «залезть в нору» — ссылки в конце статьи.
0
Статья хорошая, однако называть это новым видом программирования я бы не стал.
Все же, протоколы это просто механизм для реализации абстракций и разделения приложения на слои.
Также по сути это и есть множественное наследование, поскольку в Swift протокол это не просто интерфейс с сигнатурами но и абстрактный класс, с возможность реализации абстрактных методов через extension.
Да и те же properties можно таким же образом добавить.
Другими словами, mixin’ы.
Ну и самое главное — слишком сало картинок. UML схемы и просто красивые изображения для пояснения действий и изменений были бы очень к стати.
Все же, протоколы это просто механизм для реализации абстракций и разделения приложения на слои.
Также по сути это и есть множественное наследование, поскольку в Swift протокол это не просто интерфейс с сигнатурами но и абстрактный класс, с возможность реализации абстрактных методов через extension.
Да и те же properties можно таким же образом добавить.
Другими словами, mixin’ы.
Ну и самое главное — слишком сало картинок. UML схемы и просто красивые изображения для пояснения действий и изменений были бы очень к стати.
0
Статья интересная, хотя, на мой взгляд, пример не очень удачный — как раз такую же проблему приводят, когда объясняют, почему лучше использовать композицию, а не наследование, и далее про использование entity-component-system.
0
Есть целая книжка про это: Hoffman, Jon. «Protocol-Oriented Programming with Swift». Рекомендую.
+1
This is not about protocol oriented programming. This book insists it is better design, just making abstract class as protocol with extension. It doesn’t explain “Self requirement” with a “generic constraint” that is the one of most important concept in protocol-oriented design.
…
If you want to learn protocol-oriented, watch two WWDC 2015 videos “Protocol-Oriented Programming in Swift” and “Building Better Apps with Value Types in Swift”. It’s much more valuable and even free.
I read down to the end of the book because I don’t want to waste money. As a result, I waste my time also.
Почему же я такой вредный?
0
Оттуда же:
I just received this book and it is outstanding. If you want to learn what Protocol-Oriented programming is all about then you need to get this book. The design pattern and case studies chapters alone make this book worth the cost.
0
Видимо потому, что смотрели не последнюю редакцию книги :)
Цитата:
Цитата:
«Chapter 6. Working with Generics
I received a lot of feedback about protocol-oriented programming after the first version of this book was released. Almost all of this feedback was very positive; however, there was one conversation that I had, with one of the smartest people that I have had the privilege to meet, about what protocol-oriented programming was. One of the comments that he made was that I should not forget about generic programming. The conversation that we had about generic programming really stuck with me and when I had the opportunity to write the new version of this book, I took that opportunity to include this chapter on generics.»
0
Sign up to leave a comment.
Протокольно-ориентированное программирование в Swift 5.1