2011-09-22 8 views
5

Czy to dobre podejście, gdy w projektowaniu oprogramowania interakcje w klasie są opisywane tylko za pomocą interfejsów? Jeśli tak, czy zawsze powinienem stosować to podejście?Projektowanie oprogramowania tylko za pomocą interfejsów?

Muszę zaprojektować bibliotekę klas, która powinna mieć wysoką testowalność (ja używam C#).

Ta biblioteka ma jedną ścianę fasady i pewną liczbę klas z różnymi interakcjami w tle.

W przypadku optymalizacji tej biblioteki dla dobrej testowalności zastąpiłem większość części moich klas interfejsami.

I kiedy to zrobiłem, zobaczyłem na schemacie połączenia (diagram Visual Studio class) tylko interfejsy.

Czy to normalna decyzja dotycząca mojego problemu? czy powinno być jakieś inne podejście?

P/S: Może to dobrze znany sposób projektowania oprogramowania, ale nie mogę znaleźć potwierdzenia w książkach, które posiadam.

+0

Twój post jest trochę trudny do naśladowania, a ja nie używam C#. Ale jeśli mówisz o enkapsulacji, to jest to najlepsza praktyka w środowisku OOP. –

Odpowiedz

5

Tak, to jest dobra praktyka. Pozwala skupić się na obowiązkach każdej klasy bez zwracania uwagi na szczegóły implementacji. Pozwala zobaczyć stos wywołań metod i, jak mówisz, zapewnia wysoki poziom sprawdzalności i łatwości konserwacji. Jesteś na dobrej drodze, o ile widzę :)

2

tak, to ogólnie dobra praktyka. Zalecam przeczytanie dobrej książki wzorców projektowych na przykład: http://shop.oreilly.com/product/9780596007126.do jest ona przeznaczona dla programistów java, ale nie miałem problemu ze zrozumieniem wszystkich przykładów jako programisty języka C#.

Powiązane problemy