Pourquoi ce titre ?
- Crise logiciel mythe ou réalité ?
- L'orienté objet : quelque*s* définitions.
- Du rigide au souple : une histoire accéléré de l'informatique des 30 dernières années.
Orienté Objet : erreur historique ou voie à poursuivre ?
1. L'orienté objet Erreur historique ou voie à poursuivre ? Frédéric Fadel Aspectize 1
2. Programme Pourquoi ce titre ? Crise logiciel : mythe ou réalité ? L'orienté objet : quelques définitions. Du rigide au souple une histoire accélérée de l'informatique Frédéric Fadel Aspectize 2
10. Crise Logiciel : Mythe ? 0 à 300 000 000000 $ en 30 ans ! Valeur > Coûts ! Comparé à quoi ? Selon quelles normes ? Y a-t-il d'autres qui font mieux ? Frédéric Fadel Aspectize 10
20. … Quelques "définitions"… Frédéric Fadel Aspectize 20 Actually I made up the term "object-oriented", and I can tell youI did not have C++ in mind. I'm not against types, but I don't know of anytype systemsthataren't a complete pain, so I stilllikedynamictyping.
21. … Quelques "définitions"… Frédéric Fadel Aspectize 21 OOP to me meansonly messaging, local retention and protection and hiding of state-process, and extremelate-binding of all things. It canbedone in Smalltalk and in LISP. There are possiblyothersystems in whichthisis possible, but I'm not aware of them.
22. … Quelques "définitions" Frédéric Fadel Aspectize 22 I'm sorry that I long ago coined the term "objects" for this topic because it gets many people to focus on the lesser idea. The big idea is "messaging"... The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be.
23. La définition triviale Une formule : Objet = Etat + Comportement Trois grands principes : Encapsulation Héritage Polymorphisme Frédéric Fadel Aspectize 23
40. Polymorphisme Frédéric Fadel Aspectize 40 Favorise la réutilisation Diminue le couplage Augmente la souplesse Nécessite des abstractions immuables Pas forcément facile
41. Polymorphisme Favorise la réutilisation Diminue le couplage Augmente la souplesse Nécessite des abstractions immuables Pas forcément facile Frédéric Fadel Aspectize 41
42. Polymorphisme comment ? Ce n'est qu'un moyen de retarder le choix de la fonction à appeler, de la dynamiser ! Interface Événement Lambda Closure Generic Langages de script Réflexion… Frédéric Fadel Aspectize 42
48. Héritage : la relation 'est un' Frédéric Fadel Aspectize 48 Client d'Amazon Myope Auteur de SF Père de famille Cycliste John Bonachon
49. Héritage (en informatique) Frédéric Fadel Aspectize 49 Syntaxiquement simple ! Conceptuellement dépourvu de sens ! Favorise le couplage fort ! Tout ou rien ! Technique fragile, qui vieillit mal.
50. Héritage : l'absent de l'industrie Frédéric Fadel Aspectize 50 Automobile Electronique Urbanisme Electroménager… Pratiquent tous l'assemblage
51. Du rigide au souple Une histoire accélérée des technologies et approches de développement des 30 dernières années Frédéric Fadel Aspectize 51
52. du rigide au souple… Frédéric Fadel Aspectize 52
57. Les années 1990 Les années "composant" Frédéric Fadel Aspectize 57
58. Un peu plus souple Une formule : Composant = Interface + Implémentation Interface : Partie publique -> immuable -> déclarative Implémentation : Partie privée -> évolutive -> impérative Deux Technologies compliquées : COM CORBA Frédéric Fadel Aspectize 58
59. Les années composants Frédéric Fadel Aspectize 59 + Encapsulation + Polymorphisme Héritage abandonné + Modularité Distribution Multi-langage MTS AOP
63. Objet serveur sans état Durée de vie courte La notion d'instance et d'identité "perd" de son importance Services de Données Services de Traitements CRUD abandonné ? (historisation) JSON (état client) Frédéric Fadel Aspectize 63
Pour susciter des questionsContrairement aux réponses, les questions sont souvent amusantes…
Pour amener un point de vue
Alan Kay
Think of the internet -- to live, it (a) has to allow many different kinds of ideas and realizations that are beyond any single standard and (b) to allow varying degrees of safe interoperability between these ideas.
Boîte noire, pour encapsuler les détails et les difficultés techniques…
ElectroniqueMecanique
Organisation des entreprises
Organisation des villes
Organisation de la société
Ça se fait en distinguant des structures à des échelles différentes