2009-12-18 1 views
3

Core Data est assez incroyable, et j'ai vraiment apprécié d'utiliser the visual layout Xcode prévoit pour organiser des choses et obtenir un échantillon rapide de quelles données j'ai placé où. Parfois, j'ai commencé à me demander si je faisais le meilleur usage, car après un certain temps, il y a une telle masse de flèches qu'il devient difficile de dire ce qui se passe où.Suggestions pour l'organisation de la mise en page visuelle Core Data?

J'essaie de garder à un minimum par

  • regrouper des objets semblables ensemble,
  • objets abstraits/parents dans les arbres avec leurs enfants,
  • etc.

mais le l'encombrement semble inévitable.

Quelles sont les façons dont vous employez pour le garder organisé et lisible?

Répondre

3

Il est difficile de répondre dans un sens général. Je pense que c'est important et vous avez raison de bien réfléchir. J'ai tendance à être obsédé par l'arrangement visuel des choses moi-même car je trouve qu'il a un profond effet sur ma perception et ma compréhension continue de mon propre schéma. Le modeleur de données de Xcode est essentiellement une conception de schéma et outil de documentation de conception.

Je m'efforce de compartimenter mes propres conceptions autant que possible. Par exemple, si vous considérez un cas similaire à iTunes, vous pouvez avoir un contrôleur gérant la sélection de la liste des sources de la bibliothèque (une playlist, pour un exemple simple) et une autre gérant les membres de la playlist sélectionnée. Dans le schéma, il peut y avoir plusieurs entités "liées à la bibliothèque" et plusieurs entités "liées à la playlist", et il y a certainement plusieurs entités "liées à la chanson" (album, artiste et chanson/piste). Je regrouperais étroitement les éléments liés à la chanson d'une manière qui arrange bien les lignes de relation, mais qui maintient ces entités visuellement séparées par l'espace des éléments liés à la liste de lecture et à la bibliothèque. En d'autres termes, si vous conservez des éléments associés dans des clusters logiques clairement définis, séparés par de beaux espaces, organisés de la même manière que vous organisez vos contrôleurs, les concepts sont conservés assez clairement.

L'autre problème est le placement automatique par Xcode des lignes de relation. Malheureusement, il y a peu de choses que nous puissions faire pour rendre ces choses chouettes. J'ai été connu pour dépenser (le temps réel expurgé hors de l'embarras) inquiétant d'équilibrer des relations clairement représentées avec des grappes clairement représentées d'entités interdépendantes.

Bonne chance et heureux OCD! :-)