
contactez nous


Programmation orientée objet est devenu le paradigme de programmation dominant dans les années 90, et ses principes restent extrêmement précieux et largement adoptés par plusieurs langages de programmation (par ex. Python, Java, TypeScript, etc.). Si vous programmez, vous devez déjà l'avoir rencontré en cours de route.
Le concept est très simple : transformez tout ce dont vous avez besoin pour travailler en objet. Ensuite, c'est à vous de décider du nombre et du type d'objets que vous créez. Aujourd'hui, je souhaite partager avec vous ce que j'ai appris sur la séparation de l'architecture des applications en objets, en commençant par une brève introduction à la programmation orientée objet (POO).
Il s'agit d'un paradigme de programmation qui structure un programme logiciel en fonction d'objets. En termes simples, il crée des objets contenant des fonctions et des données. Ce paradigme repose largement sur le concept de classes et objets.
En d'autres termes, dans un langage OOP, du code est écrit pour définir les classes et les objets respectifs en suivant quatre principes : encapsulation, abstraction, héritage et polymorphisme.
Effectuez une recherche n'importe où sur le Web et vous trouverez rapidement une liste de principes liés à la POO. Ce sont : l'encapsulation, l'abstraction, l'héritage et le polymorphisme. Voyons ce que ces principes signifient réellement :
Ce n'est cependant pas sur ce point que je vais me concentrer sur cet article. Du moins, pas sur la version la plus savante des principes de programmation orientée objet. Vous trouverez ici plus de connaissances pratiques sur la programmation orientée objet et de véritables idées sur la manière d'améliorer l'art de transformer tout en objet. À la fin de cet article, vous comprendrez parfaitement pourquoi cela est pertinent pour tous ceux qui programment.
D'après mon expérience en programmation, je me souviendrai toujours du jour où j'ai ouvert l'un de ces grands projets et où la quantité de fichiers qu'il contenait était tout simplement incroyable. C'est alors que je me suis dit : c'est impossible à comprendre. L'idée de transformer une idée simple en une énorme quantité de fichiers semble exagérée, mais ce n'est souvent pas le cas.
Pour moi, la question que je me pose le plus lors de la conception de l'architecture d'une application est « dois-je créer un objet pour cela ? » Et, la plupart du temps, la réponse est simple :
Oui, je devrais.
En fin de compte, il est beaucoup plus facile de lire 10 fichiers d'objets différents dont les noms représentent leur fonction qu'une énorme pile de code ça fait tout. Le seul problème ici est d'organiser la grande quantité de fichiers que vous créez dans une structure facile à comprendre et à rechercher pour trouver toute personne susceptible de récupérer votre travail plus tard.
En tant que Développeur iOS, je suis ce que la plupart des développeurs iOS utilisent, à savoir Modèle MVC, et j'essaie toujours d'organiser les fichiers en dossiers au lieu de les déposer tous au même endroit.
Au lieu de créer une classe et de lui donner un ensemble de propriétés et de types d'énumération à configurer, pensez s'il ne serait pas préférable de simplement les séparer en élégantes sous-classes pour faciliter l'identification de ce qu'ils font réellement, en laissant la base suffisamment générique pour continuer à la redimensionner ultérieurement.
L'une des beautés de la programmation orientée objet est que les classes pour les objets que vous créez peuvent être réutilisés dans d'autres projets, ce qui représente un gain de temps considérable. Pensez-y lorsque vous créez des objets et que vous les rendez génériques. L'approche du sous-classement peut certainement vous y aider.
Il vaut mieux séparer les classes pour les gérer Appels d'API ou dans les achats d'applications pour la version générique que vous pouvez utiliser dans l'ensemble de vos projets et la sous-classer avec une application spécifique qui vous fournira les données dont vous avez besoin.
Parfois, je dois créer une méthode qui nécessite la transmission de nombreuses propriétés. Je ne veux pas les demander un par un, alors j'ai décidé de les mettre tous dans un dictionnaire ou un tableau et de les transmettre.
Cela semble assez pratique, mais cela ne l'est jamais.
J'y reviens un mois plus tard, ou pire encore, quelqu'un d'autre essaie de l'utiliser et il a vraiment du mal à assembler les propriétés exactement comme je l'ai fait, et il passe peut-être même un certain temps à déboguer pourquoi l'une d'entre elles est perçue comme nulle en cours de route.
En fin de compte, il est beaucoup plus facile de passer l'objet entier dont les propriétés appartiennent, même si elle contient beaucoup plus que ce dont vous avez besoin. Cette solution permet également s'adapte mieux car vous ne savez jamais quand vous aurez besoin de l'ensemble du contexte de l'objet, même si vous ne commencez qu'avec une petite partie de celui-ci.
Toutes les langages de programmation Je sais qu'ils sont orientés objet et pourtant, je continue de trouver différentes façons de répondre à cette simple question : quel genre d'objets devrait représenter cela ? Le nombre de possibilités peut représenter un défi en matière de programmation orientée objet, mais l'alternative consistant à ne pas les utiliser n'est ni viable ni souhaitable.
Le paradigme de programmation orientée objet se concentre sur objets et sur la façon dont ces objets interagissent. Cela nécessite que le développeur planifie le codage à l'avance, ce qui conduit à une meilleure structure des données et permet leur réutilisation.
Ce paradigme implique quatre grands principes (encapsulation, héritage, polymorphisme et abstraction) qui doivent être suivis lors du développement d'un logiciel orienté objet.
Lors de la mise en œuvre de la POO, certains meilleures recommandations les développeurs peuvent postuler sont les suivants :
1. Créez autant de classes que nécessaire ;
2. Utiliser davantage de sous-classes ;
3. Rendre les objets plus génériques ;
4. Ne déchirez pas les objets.
Un développeur iOS senior qui fait partie d'une équipe iOS agile et qui donne aux individus les moyens de réaliser leurs rêves et leurs objectifs.
Stagiaire en marketing avec un intérêt particulier pour la technologie et la recherche. Pendant mon temps libre, je joue au volley-ball et je gâte mon chien autant que possible.
People who read this post, also found these interesting: