I have not read your blog. But in my opinion, what Apple called protocol
programming is actually so called functional programming. It is not object
programming at all. It uses protocols and structs to avoid object
programming.
I don't think most functional programmers would recognize
protocol-oriented programming as what they do. It is true that one of
the main benefits we see in protocol-oriented programming is that it
allows one to use *mutable* value types, instead of classes, in
polymorphic contexts. Functional programming is largely concerned with
immutable data, where the distinction between value and reference
semantics disappears, and it doesn't matter if you're using classes or
not. But the main thing in FP is the use of higher-order functions,
which Swift enthusiastically supports, but have nothing whatever to do
with protocol-oriented programming.
···
on Sun Feb 14 2016, zhaoxin肇鑫 <swift-users-AT-swift.org> wrote:
zhaoxin
On Mon, Feb 15, 2016 at 7:59 AM, Jon Hoffman via swift-users < > swift-users@swift.org> wrote:
Numerous tutorials that I have seen take a very Object-Oriented approach
to the protocol-oriented programming (POP) paradigm. By this statement I
mean that they tell us that with POP we should begin our design with the
protocol rather than with the superclass as we did with OOP however the
protocol design tends to mirror the superclass design of OOP. They also
tell us that we should use extensions to add common functionality to types
that conform to a protocol as we did with superclasses in OOP. While
protocols and protocol extensions are arguably two of the most important
concepts of POP these tutorials seem to be missing some other very
important concepts.In this post I would like to compare Protocol-Oriented design to
Object-Oriented design to highlight some of the conceptual differences.
You can view the blog post here:
Mastering Swift: POP and OOPJon
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users
--
-Dave