2008-10-09 7 views

Antwort

2

Ich glaube, Sie sehr vorsichtig und rücksichtsvoll darüber sein müssen. Im Allgemeinen können Sie Abhängigkeiten begrenzen, indem Sie den Code trennen und abstrakte Schnittstellen verwenden (z. B .: Funktionszeiger oder ein äquivalentes Objekt), aber Trennung fügt im Allgemeinen Brüchigkeit hinzu. Sie können z. B. ein Modul über eine generische abstrakte Schnittstelle aufrufen, um die Abhängigkeit von der tatsächlichen Objektimplementierung zu reduzieren, aber Sie müssen die Schnittstelle synchron mit dem Objekt selbst aktualisieren, oder der Code wird zur Laufzeit fehlschlagen.

Ich würde sagen, dass es wichtig ist, große Projekte in Modulen mit einer wohldefinierten Hierarchie zu strukturieren, aber innerhalb jedes Moduls nicht über Bord gehen mit dem Auseinanderbrechen von Code, um Abhängigkeiten zu begrenzen. Wenn Sie nach einer verbesserten Wartung suchen, müssen Sie weniger Abhängigkeiten ausgleichen und die Codefragilität verringern.

6

Herb Sutter hat eine große Behandlung dieses genauen Themas in Artikel 26, 27 und 28, "Minimierung Compile-Zeit-Abhängigkeiten, Teile 1, 2 und 3", in seinem ausgezeichneten Buch Exceptional C++, ISBN: 0201615622.

alt text http://ak.buy.com/db_assets/prod_images/489/30611489.jpg

IMHO ist dies eines der besten C++ Programmierung Bücher zur Verfügung.