2011-09-22 17 views
5

È un buon approccio quando nella progettazione del software le interazioni di classe sono descritte solo con interfacce? Se sì, dovrei usare sempre questo approccio?Progettazione software solo con interfacce?

Devo progettare una libreria di classi che dovrebbe avere un'elevata testabilità (io uso C#).

Questa libreria ha una facciata e una certa quantità di classi con interazioni diverse in background.

Nel caso di ottimizzazione di questa libreria per una buona testabilità, ho sostituito la maggior parte delle mie classi con interfacce.

E quando ho fatto questo, ho visto in un diagramma di connessione (diagramma di classe Visual Studio) solo le interfacce.

È normale la decisione del mio problema? o ci dovrebbe essere un altro approccio?

P/S: Forse è ben noto il modo in software-design ma non riesco a trovare qualche conferma nei libri che ho.

+0

Il post è un po 'difficile da seguire e non uso C#. Ma se ti riferisci all'incapsulamento, allora questa è la migliore pratica in un ambiente OOP. –

risposta

5

Sì, questa è una buona pratica. Ti consente di concentrarti sulle responsabilità di ogni classe senza preoccuparti dei dettagli di implementazione. Ti permette di vedere lo stack delle chiamate al metodo e, come dici, fornisce un alto livello di testabilità e manutenibilità. Sei sulla strada giusta per quanto vedo :)

2

sì, è generalmente una buona pratica. Consiglierei di leggere un buon libro di modelli di progettazione ad esempio: http://shop.oreilly.com/product/9780596007126.do è destinato agli sviluppatori java ma non ho avuto problemi a comprendere tutti gli esempi come sviluppatore C#.

Problemi correlati