6 : Rethink Lookup and Advanced Object-Oriented Design

Descriptif
In this part, we will present you some more advanced topics regarding modelisation with objects and its best practices that leads to better code reuse and more robustness against evolution. We will also give you more details on the Pharo infrastructure (VM image, ...) and some data types such as characters, strings, static and dynamic arrays.
Exercises part 6
Click on the exercise title to download the documents.
- [Mini-project] TinyBlog: Solution Week 5 + Deployment
Solutions for the new exercises will be provided in the section "Exercises" of the following week.
Vidéos
Did You Really Understand Super?
Dans ce cours, on va commencer à voir si finalement vous avez bien compris ce qu'on a dit dans les autres cours. En particulier sur super, là l'objectif est de vous faire vraiment réfléchir et j'ai
Understanding the Implementation of ifTrue:ifFalse:
Dans ce cours, on va revenir sur l'implémentation d’ifTrue:ifFalse:. Pour ceux d'entre vous qui sont attentifs et je sais qu'il y en a plein, vous avez sûrement remarqué que, quand j'ai proposé les
Dice new vs. self class new
On va voir ensemble dans cette séquence une subtilité extrêmement intéressante que vous pouvez appliquer dans vos programmes, et donc on va revenir sur l'exemple du programme de dé.
Message sends are plans for reuse
Dans cette séquence, nous allons discuter des messages et on va voir pourquoi avoir plein de messages partout et des toutes petites méthodes, c'est vraiment bien contrairement à ce que beaucoup de
Hooks and Templates
Dans cette séquence, nous faisons suite à la séquence précédente dans laquelle je disais que les petites méthodes, c'était vraiment bien. Ici, je vais vous montrer des exemples.
Runtime Architecture
Dans ce cours, j'aimerais aborder avec vous comment l'exécution de Pharo fonctionne et quelles sortes comment l'exécution de Pharo fonctionne et quelles sortes Parce que pour le moment, vous avez dû
Characters, Strings and Symbols
Alors aujourd'hui on va revenir sur quelque chose que vous avez déjà vu dans les séquences précédentes, mais on va vraiment réefoncer le clou dans cette séquence. Donc les caractères, les chaines de
Dynamic Vs. Literal Arrays
Dans cette séquence on va revenir sur quelque chose encore, que vous avez des déjà vue dans les séquences précédentes, mais on va réenfoncer le clou, donc sur les tableaux littéraux et les tableaux
[Live] Understanding Images and Changes Files
Dans cette vidéo, je voudrais vous expliquer un petit peu les différentes façons dont Pharo est packagé, pour que vous vous y retrouviez dans le futur.
[Live] Using the Pharo Launcher to manage your Pharo images
Je voudrais vous montrer le Pharo Launcher. Pharo Launcher c'est un outil qui a été développé indépendamment de Pharo et qui, à terme, va prendre la place de Pharo App qu'on a vu dans l'autre session
[Live] Diffing and Merging in Pharo
Dans cette vidéo, je voudrais vous montrer qu'on peut browser, faire des Diff entre différentes versions de packages qui ont été comités sur un repository. Là, je vais utiliser un repository qui est
[Live] GTInspector 4: Build Custom Tab Views for your Objects
Dans cette vidéo, j'aimerais vous montrer comment un objet peut définir des onglets qui vont apparaître dans l'inspecteur. Comment on va voir ça ? On va utiliser Spotter pour faire ça.
Intervenants et intervenantes
Titulaire d'un doctorat en Informatique (Bordeaux 1, 2011)
Maître de Conférences au sein de l'équipe RMoD du Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL - UMR CNRS 9189 - INRIA - IEEA) de l'Université Lille 1 - Sciences et Technologies
Auteur d'une thèse en Informatique à Nice en 1997
Directeur de Recherche, responsable de l'équipe "Évolution réflexive des systèmes logiciels éternels" (EVREF) au sein du Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL - UMR CNRS 9189 - INRIA - Université de Lille)
Titulaire d'un doctorat en Informatique (Montpellier, 2007)
Maître-Assistant à l’école des Mines de Douai