Hi Yuri --

Thank you also for taking the time to write.



This was design error of applications creators.
> Let's think what Django could do to prevent such errors.


The application creators weren't thinking about interoperability of their
applications because there are no such guidelines for making interoperable
applications. Interfaces and componentization would give Django the
opportunity to define some standard interfaces like IUser and give Django
developers the opportunity to define interfaces for other things, such as
Satchmo having the ability to define IPostalAddress.


> I can see abstract idea. But don't see right implementation idea.
> 1) You can do this all without all javaish interfaces.


Admitted, this is bringing some higher OO language stuff to Python. Trac and
(gasp!) Zope both went down this route. If it can be done another way, I'd
love to hear a suggestion on how to use soft paternalism to get developers
to conform their code to certain interoperable patterns.


2) Interfaces are not python way of doing stuff. google: duck typing.
> Please take my arguments into account and reconsider your idea with them.


Sure. Walks, quacks, yep. It's a duck. But if I want my own user model, I
don't just have to make something that looks and acts like a User from
django.contrib.auth -- I have to convince everybody else to use my version
instead of the django one. But applications that need a User-like object can
query to see what installed components implement IUser instead of just
assuming I want to use django.contrib.auth, then it's much easier.

Thank you for your comments. I look forward to hearing more of your
thoughts.

-jag (aka j00bar)

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to