La visibilité privatedes champs, propriétés et attributs de classe est-elle utile? En POO, tôt ou tard, vous allez créer une sous-classe d'une classe et dans ce cas, il est bon de comprendre et de pouvoir complètement modifier la mise en œuvre. L'une des premières choses que je fais lorsque je …
Si les objets immuables¹ sont bons, simples et offrent des avantages en programmation simultanée, pourquoi les programmeurs continuent-ils à créer des objets mutables²? J'ai quatre ans d'expérience dans la programmation Java et, à mon avis, après avoir créé une classe, les personnes créent des getters et des setters dans l'EDI …
Un collègue m'a dit que la création d'objets en Java est l'opération la plus chère que vous puissiez effectuer. Je ne peux donc que conclure à la création du moins d’objets possible. Cela semble quelque peu contrecarrer le but de la programmation orientée objet. Si nous ne créons pas d'objets, …
Souvent, dans les bibliothèques en particulier, les packages contiennent des classes organisées autour d'un concept unique. Exemples: xml, sql, user, config, db . Je pense que nous pensons tous assez naturellement que ces paquets sont corrects au singulier . com.myproject. xml .Element com.myproject. sql .Connection com.myproject. utilisateur .utilisateur com.myproject. utilisateur …
Pourquoi avons-nous besoin de variables privées dans les classes? Tous les livres sur la programmation que j'ai lus disent qu'il s'agit d'une variable privée, c'est comment vous le définissez mais vous vous arrêtez là. Le libellé de ces explications m'a toujours semblé comme une crise de confiance dans notre métier. …
Je comprends la composition de la programmation orientée objet, mais je ne parviens pas à me faire une idée précise de ce qu'est l'agrégation. Quelqu'un peut-il expliquer?
Les Getters et les setters sont souvent critiqués comme étant des OO non appropriés. D'autre part, la plupart du code OO que j'ai vu possède de nombreux accesseurs et régleurs. Quand les getters et les setters sont-ils justifiés? Essayez-vous d'éviter de les utiliser? Sont-ils surutilisés en général? Si votre langue …
Au cours des derniers mois, le mantra "favoriser la composition par rapport à l'héritage" semble être né de nulle part et est devenu presque une sorte de mème au sein de la communauté de programmation. Et chaque fois que je le vois, je suis un peu mystifié. C'est comme si …
Je viens de commencer mon premier emploi en tant que développeur de logiciels il y a plus d'un mois. Tout ce que j'ai appris sur la POO, SOLID , DRY , YAGNI, les modèles de conception, les PRS , etc. peut être jeté par la fenêtre. Ils utilisent des formulaires …
Je cherche une recommandation ici. J'ai du mal à savoir s'il est préférable de renvoyer NULL ou une valeur vide d'une méthode lorsque la valeur de retour n'est pas présente ou ne peut pas être déterminée. Prenez les deux méthodes suivantes à titre d'exemple: string ReverseString(string stringToReverse) // takes a …
En programmation orientée objet, il n’existe bien sûr pas de règle exacte sur la longueur maximale d’une méthode, mais j’ai quand même trouvé ces deux citations qui se contredisaient un peu, je voudrais donc connaître votre opinion. Dans Clean Code: A Handbook of Agile Software Craftsmanship , Robert Martin déclare: …
Je travaille avec le développement Web depuis 2009, quand j'ai commencé avec PHP. Lorsque j'ai migré vers ASP.NET, j'ai beaucoup entendu parler de DDD et de OOAD, qui accordent une grande importance à cette "logique métier" et à ces "règles commerciales". Le fait est que toutes les applications que j'ai …
Je viens juste d'apprendre TDD. D'après ce que j'ai compris, les méthodes privées sont indestructibles et ne devraient pas vous inquiéter, car l'API publique fournira suffisamment d'informations pour vérifier l'intégrité d'un objet. J'ai compris la POO depuis un moment. Je crois comprendre que les méthodes privées rendent les objets plus …
L'encapsulation me dit de rendre tous ou presque tous les champs privés et de les exposer par des accesseurs / régleurs. Mais maintenant, des bibliothèques telles que Lombok apparaissent, ce qui nous permet d’exposer tous les champs privés par une courte annotation @Data. Il créera des getters, des setters et …
Par exemple, pour garder un processeur sous Android, je peux utiliser un code comme celui-ci: PowerManager powerManager = (PowerManager)getSystemService(POWER_SERVICE); WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "abc"); wakeLock.acquire(); mais je pense que les variables locales powerManageret wakeLockpeuvent être éliminés: ((PowerManager)getSystemService(POWER_SERVICE)) .newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakelockTag") .acquire(); Une scène similaire apparaît en mode alerte iOS, par exemple: …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.