• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

L#004 – MVC – Model View Controller

By Redazione | on 15 Ottobre 2009 | 2 Comments
Guide Teoriche

MVC (Model View Controller) è un pattern architetturale molto diffuso nella programmazione orientata agli oggetti, legato tra i tanti linguaggi anche ad Objective-C. Il modello MVC assegna agli oggetti di una applicazione uno di questi tre ruoli: MODEL (modello), VIEW (vista) o CONTROLLER (controllore). Il pattern definisce però non solo i loro ruoli, ma anche il modo con cui questi comunicano tra loro. Ogni oggetto è separato dall’altro da dei “confini astratti” e comunica con gli oggetti di un altro tipo attraverso questi stessi confini.
MVC è indispensabile per il design di applicazioni Cocoa e i benefici dell’adozione di questo schema sono molteplici.

Gli oggetti creati secondo questo modello, infatti, sono più riusabili e le interfacce tendono ad essere più definite. Le applicazioni basate secondo questo schema sono inoltre più facilmente estendibili rispetto alle altre. Considerate inoltre che molte tecnologie e architetture Cocoa, così come quanto vedremo per la programmazione per iPhone, sono basate su MVC ed è richiesto quindi che i vostri oggetti personalizzati seguano uno di questi tre ruoli.

MVC - Model View Controller

MVC – Model View Controller

Dallo schema qui sopra si intuisce il funzionamento alla base di questo modello, potete vedere come gli oggetti coinvolti comunicano tra loro e allo stesso tempo siano indipendenti l’uno dall’altro.

Quindi in definitiva abbiamo:

  • il model (o modello) fornisce i metodi per accedere ai dati utili all’applicazione;
  • la view (o vista) visualizza i dati contenuti nel model e si occupa dell’interazione con gli utenti;
  • il controller (o controllore) riceve i comandi dell’utente (in genere attraverso la view) e li attua modificando lo stato degli altri due componenti

La logica del programma (gestita dal controller), interfaccia utente (gestita dalla view) e i dati insieme alle proprietà (gestiti dal model) sono quindi separati tra loro e gestibili in modo del tutto indipendente.

Potete quindi intuire facilmente la potenza di questo modello di programmazione che permette, ad esempio, di modificare completamente una view senza intaccare il resto del programma. Non ci resta che addentrarci in questo mondo e scoprirne le sue infinite potenzialità.

Share this story:
  • tweet

Tags: mvcObjective-cteoria

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • Uno sguardo al runtime Objective-c

    10 Settembre 2013 - 0 Comment
  • Andrea Picchi: Programmare con Objective-C 2.0 per iOS e OS X

    27 Febbraio 2013 - 10 Comments
  • T#107 – Le referenze associative: Aggiungiamo le variabili alle Categorie

    2 Aprile 2012 - 3 Comments

Author Description

2 Responses to “L#004 – MVC – Model View Controller”

  1. 29 Gennaio 2010

    Luca

    Sempre più interessante…

  2. 12 Luglio 2011

    MaveDev

    Grazie, molto interessante 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO