Pourquoi ne pas toujours utiliser NSMutableString ?

06:43 modifié dans API AppKit #1
Un NSMutableString est capable de faire tout ce que fait un NSString alors pourquoi ne pas toujours utiliser un NSMutableString ?

Je vois un gain évident à utiliser NSMutableString partout :  éviter de perdre du temps quand je m'aperçois que j'avais besoin d'un NSMutableString alors que j'avais commencé par utiliser un NSString.

Cette réflexion m'est inspirée par cet article : http://www.paulgraham.com/hundred.html et cette page de CocoaDev : http://www.cocoadev.com/index.pl?JavaBlows

Réponses

  • ClicCoolClicCool Membre
    06:43 modifié #2
    Parfois il est utile d'utiliser un Objet immutable quand il est important que l'objet ne soit pas modifié justement.

    On peut ainsi l'utiliser sans craindre, qu'après n modifications de notre code, on ne le modifie par inadvertance.
    ça arrive parfois dans des méthodes où un objet est transmis. On perd de vue qu'un de nos objets immutables peut être aussi être transmis et être "vcitime" de cette méthode.
    Si l'objet est immutable, on peut le transmettre l'esprit serein, sans avoir à s'inquiéter de ce que la méthode en fera.

    On peut même transmettre, à certaines méthodes, un objet normalement mutable sous une forme immutable pour s'assurer que dans le traitement de ces méthodes là il ne sera pas modifié.
  • 06:43 modifié #3
    Effectivement je n'avais pas pensé au cas de la transmission de l'object par les méthodes, en particulier à des méthodes sur lesquelles on a pas de contrôle. Trés bonne raison.  :)
  • fullstackfullstack Membre
    06:43 modifié #4
    n'oublions pas aussi qu'un alloc de NSMutableString prend bcp plsu de place en memoire qu'un alloc de NSString, soyons economes ;-)
Connectez-vous ou Inscrivez-vous pour répondre.