La realizzazione di un'applicazione software secondo la metodologia OOP consiste di un insieme di oggetti che comunicano tra loro ed il più delle volte l'analisi dell'architettura rivela una fitta maglia di interdipendenze tra le classi anche tra quelle poste a livelli di astrazione differente. In realta questa situazione è l'effetto di una cattiva progettazione e comporta una serie di vincoli e di svantaggi di difficile soluzione.

Le numerose dipendenze impediscono il riuso di parti del codice in altri contesti, poiché diventa quasi impossibile isolare le classi di interesse dal resto dell'applicazione; anche le modifiche risultano complesse poiché i cambiamenti ad una classe possono comportare ulteriori cambiamenti ad un numero imprecisato di altre classi o generare malfunzionamenti su altre parti del codice.

Il principio di inversione della dipendenza è una regola che aiuta a ridurre le dipendenze tra le classi.

Prosegue...

Vota questo articolo per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Quando si inizia larealizzazione di un nuovo progetto software, spesso è necessarioaffrontare il dilemma se sia più conveniente aggiungere nuovefunzionalità a del codice già esistente e ben testato, oppureriscrivere l'applicazione da zero.

Generalmente si tende ariscrivere da zero gran parte del codice esistente, anche se questocomporta una grande mole di lavoro e la necessità di testarenuovamente la correttezza dei programmi generati.

Prosegue...

Vota questo articolo per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

La dichiarazione anticipata è un meccanismo per ridurre il numero di file inclusi nei file di intestazione. Ma qual'è la sintassi corretta per dichiarare anticipatamente una classe che si trova all'interno di un dato namespace?

Utilizzando la seguente dichiarazione:

001class A::B::ClassName;

il compilatore genera un errore del tipo:

namespace "A::B" has no tag member named "CClassName"

Esistono due modi per risolvere il problema. Il primo consiste nel definire il name space utilizzando le parole chiave using namespace e successivamente dichiarare la classe.

001using namespace A::B;
002class ClassName;

Il secondo metodo, invece, consiste nel deifinire la dichiarazione anticipata come segue:

001namespace A {
002    namespace B {
003        class ClassName;
004}};

La seconda alternativa è preferibile poiché l'utilizzo delle parole chiave using namespace all'interno di un file di inclusione può avere effetti collaterali anche negli altri file di intestazione che lo includono.

Vota questo articolo per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Le chiamate di funzione

La libreria fornita da Microsoft fornisce allo sviluppatore un ricco insieme di API: il nucleo centrale è basato sulla libreria di Berkeley, mentre un ulteriore insieme estende le funzionalità esportate con alcune caratteristiche specifiche per Windows.

Prosegue...

Vota questo articolo per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Concetti Preliminari

L’interfaccia di programmazione chiamata Windows Socket (Winsock) utilizza il paradigma delle socket introdotto dalla libreria BDS del mondo UNIX, anche se con qualche piccolo adattamento per il sistema operativo della Microsoft.

Prosegue...

Vota questo articolo per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Calendario

<<  luglio 2010  >>
lumamegivesado
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

View posts in large calendar
Licenza d'uso
Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati mediante:

Licenza Creative Common