Domanda

C'è un diagramma che illustra la differenza tra MVC tradizionale e Cocoa MVC qui:

Modelli di design del cacao:Il modello di progettazione modello-vista-controller

Ci sono vantaggi nel farlo nel modo "Cocoa" in .NET utilizzando Visual Studio?

È stato utile?

Soluzione

Non c'è motivo non farlo in quel modo, se per te ha più senso.Tieni presente che molte cose nel framework Cocoa sono come sono a causa di decisioni di progettazione di livello superiore, ad esempio favorendo la composizione e la delega rispetto alle sottoclassi.

Se lo desideri, puoi progettare un software C# che assomigli al software Objective-C, ma le persone senza esperienza con Cocoa dovranno spiegarglielo, perché il design ad accoppiamento approssimativo sembrerà loro semplicemente "strano".

Oh, giusto, i vantaggi di questo design includono una maggiore riutilizzabilità della vista dell'interfaccia utente e delle classi del modello (poiché non avranno alcuna conoscenza l'una dell'altra), codice leggermente più semplice nelle classi della vista e più "logica dell'applicazione" " in un unico posto (le classi controller).

Altri suggerimenti

Uno sviluppatore sul diario degli sviluppatori .Net ha scritto della sua transizione e ha confrontato .Net con Cocoa, incluso l'utilizzo dello stile Cocoa MVC in .Net

http://dotnetaddict.dotnetdevelopersjournal.com/tags/?/cocoa

La "versione Cocoa di MVC" non è il modello utilizzato in ASP.NET MVC?Finora, tutti gli esempi hanno indicato la comunicazione in bianco e nero della vista e del modello tramite il controller senza interazione diretta tra V e M.Ho capito male?

Il vantaggio principale dell'utilizzo dei "mediating controller" di Cocoa (sottoclassi di NSController) è che implementano gran parte delle funzionalità standard richieste per mediare tra un modello e la sua vista.Cose come il tracciamento della parte del modello indicata dalla selezione della vista e il supporto delle transazioni (in modo da poter, ad esempio, confermare o eliminare una serie di modifiche alla vista o al modello) sono incluse, "gratuitamente".L'utilizzo delle sottoclassi NSController come codice "collante" tra modello e vista ti consente come sviluppatore di concentrare i tuoi sforzi sulla funzionalità "Controller di coordinamento", la logica specifica dell'applicazione che risiede nel livello del controller.

Quindi vale la pena utilizzare questo modello in .Net?Far funzionare correttamente un controller di coordinamento generale non è banale (ad esempio, ci sono volute un paio di versioni di Apple per farlo funzionare bene).Cose come i controllori degli alberi sono particolarmente complicate.Se utilizzi questo modello solo in uno o pochi progetti, potrebbe non valerne la pena.D'altra parte, sono sicuro che la comunità apprezzerebbe un framework di controllo generale simile alla gerarchia NSController di Cocoa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top