> On Dec 23, 2015, at 12:50 PM, John McCall via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
>> On Dec 23, 2015, at 7:05 AM, Paul Cantrell <cantr...@pobox.com> wrote:
>> On Dec 22, 2015, at 10:45 PM, John McCall via swift-evolution 
>> <swift-evolution@swift.org> wrote:
>>> 
>>> when you stuff a lot of functionality into a single class in most OO 
>>> languages, there’s no real way to enforce its division into subsystems, 
>>> because every method has direct access to every property and every other 
>>> method.  In contrast, in Swift you can divide that class into distinct 
>>> components with their own interface, state, and invariants, essentially 
>>> making each component as good as its own type as far as encapsulation goes.
>> 
>> Can you elaborate on this, John? Extensions and protocols in Swift today 
>> still don’t solve the problem that shared _private_ class state has to be 
>> centralized. Or were you speaking as if this “properties in extensions” 
>> proposal were already implemented?
> 
> Yes, that’s right.  I’m explaining why I think it makes sense to limit stored 
> instance properties in extensions to class types: especially with some 
> solution for private initialization of extensions, they enable intra-class 
> encapsulation in a way that matters for classes and not really for other 
> types.
> 

How would private initialization of extensions work?

> John.
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to