2008-08-27 14 views
8

Ich bin mit dem Schreiben eines Frameworks konfrontiert, um das Arbeiten mit einer großen und komplexen Objektbibliothek zu vereinfachen (ArcObjects). Welche Richtlinien würden Sie vorschlagen, um einen solchen Rahmen zu schaffen? Sind statische Methoden bevorzugt? Wie gehst du mit Dingen wie Logging um? Wie können Sie Ihren Framework-Code künftig durch Änderungen, die ein Anbieter möglicherweise einführt, zukunftssicher machen?Richtlinien zum Schreiben eines Frameworks

Ich denke an all die verschiedenen Wrapper und Helfer, die ich für NHibernate, log4net und Code gesehen habe ich aus Projekten wie NLog und NetTopologySuite gelesen habe und ich sehe so viele gute Ansätze, aber ehrlich gesagt bin ich bei Verlust, wo ich anfangen soll.

BTW - Ich arbeite in C# 3.5, aber es ist mehr über empfohlene Vorgehensweise als Sprache.

+0

+1. (Wenn Sie ESRI dazu bringen können, über diese Probleme selbst nachzudenken, +150!) – MarkJ

Antwort

1

Ich denke, dass Sie konsistent ist wichtiger als die Konventionen Sie gehen mit. Was die Zukunftssicherheit betrifft, ist das eine Frage des Codes, für den Sie einen Rahmen schaffen. Es ist viel einfacher, auf einem Ziegelhaus als einem Sand zu bauen.

2

Versuchen Sie, Code zu schreiben, um flexibler zu sein. Wenn Sie beispielsweise eine Methode verwenden, die ein Array als Parameter akzeptiert, können Sie stattdessen IEnumerable oder IList akzeptieren?

1

Das Schreiben von Code für das Framework unterscheidet sich sehr stark vom Schreiben von Anwendungscode.

Ich habe immer die Design Guidelines for Class Library Developers (und haben andere konsultieren) beim Schreiben Framework-Level-Code konsultiert.