Schritt 3: Erstes Design
Nachdem wir die Grammatik aus RFC 2396 vereinfacht haben, ohne die Semantik zu ändern, erhalten wir die folgende Grammatik:
Alle Grammatikvariablen, die dem Kunden zur Verfügung stehen sollen, sind mit ‚(s)‘ gekennzeichnet. Die erste Idee, einen Parser durch Erstellen einer Methode für jede linke Seite (LHS) zu implementieren, kann jetzt verfeinert werden. Der letzte Regelblock beschreibt Zeichensätze.
Diese können von den übrigen Regeln getrennt werden, wenn die rechte Seite (RHS) Variablen enthält, die keine Zeichenklassen sind oder eine LHS haben, deren Wert gespeichert werden soll.
Nach unseren bisherigen Kenntnissen können wir folgende Kurse planen:
URL.java: Enthält alle Teile einer URL, die in Teile zerlegt sind.
Parser.java: Realisiert alle Regeln mit Nicht-Zeichenklassenvariablen in ihrer RHS.
URLCharacter.java: Enthält Methoden zur Unterscheidung der Zeichenklassen.
Diese Klasse realisiert die meiste Arbeit der lexikalischen Analyse von URL-Strings.
InvalidURLException: Wird ausgelöst, wenn der Parser eine URL-Zeichenfolge nicht erfolgreich analysiert.
Mit der Grammatik und den Namen der Klassen, die wir verwenden möchten, haben wir die ersten Schritte des Designs unternommen. Nun fahren wir fort und erstellen ein Together-Projekt und erste UML-Diagramme. Wenn Sie es vorziehen, JUnit und JUnitX manuell zu verwenden, können Sie den nächsten Abschnitten folgen, ohne Together auszuführen. Es werden Snapshots aller Dateien für jeden Lernschritt bereitgestellt, einschließlich aller erforderlichen Standalone-Build-Dateien.
Schritt 4: Projekteinrichtung
Wenn Sie ein erfahrener Together-Benutzer sind, können Sie die Projektschnappschüsse des Lernprogramms verwenden, die mit den Quelldistributionen JUnitX und XPTest (Pfadbeispiel) verfügbar sind, und diesen Teil des Lernprogramms überspringen.
Die Projektdateien von Together arbeiten unabhängig vom Speicherort des Projektpfads. Sie verweisen jedoch auf das JDK, sodass Sie möglicherweise die Projektdatei bearbeiten müssen, um den Speicherort Ihres JDK wiederzugeben.
Sie können auch Code aus Anhang B einfügen, um Arbeit zu sparen.
Für diejenigen, die noch nie viel mit Together gearbeitet haben, sind hier meine empfohlenen Schritte, um ein neues Projekt einzurichten.
Stellen Sie sicher, dass Sie eine geeignete JDK- und Together-Version installiert haben (Einzelheiten finden Sie in Anhang A).
Erstellen Sie eine Verzeichnisstruktur
Erstellen Sie nach dem Erstellen eines Projektverzeichnisses ’src‘ und ‚diagrams‘ als Unterverzeichnisse.
Starten Sie den ‚New Project Expert‘
Starten Sie Together und wählen Sie im Menü Datei von Together die Option ‚Neuer Projekt-Experte …‘, um ein Beispielprojekt zu erstellen.
Klicken Sie auf ‚Weiter>‘ und
Wählen Sie den Quellpfad
Geben Sie hier das Unterverzeichnis ’src‘ Ihres Projektpfads ein:
Diagrammpfad auswählen
Wählen Sie im nächsten Dialogfeld „Nein, ich möchte sie trennen“, um UML-Diagrammbilder in einem separaten Pfad zu platzieren.
Diagrammpfad auswählen
Im folgenden Dialog können Sie das Unterverzeichnis ‚diagrams‘ Ihres Projektpfads eingeben, um die UML-Diagramme dort abzulegen.
Wählen Sie den ersten Diagrammtyp
Behalten Sie im nächsten Dialogfeld die vorgeschlagenen Einstellungen bei: ‚Klasse‘ ist der ursprüngliche Diagrammtyp und die Option ‚Paketabhängigkeiten anzeigen‘ ist ausgewählt.
Archive importieren (nur Together 5.0 und älter)
JUnitX und XPTest sind in Together 5.5 und höheren Versionen enthalten. Für ältere Releases müssen Sie JUnitX zur Liste der erforderlichen Archive im letzten Dialogfeld hinzufügen, indem Sie auf die Schaltfläche „Zip / Jar hinzufügen“ klicken:
Wenn JUnitX in diesem Dialogfeld nicht aufgeführt ist, erstellt Together Testfälle mit einer fehlenden übergeordneten Klasse. Daher werden sie später von XPTest nicht kompiliert oder erkannt.
Wenn Sie fertig sind, klicken Sie auf ‚Fertig stellen‘, um das Projekt zu erstellen.
Jetzt können wir die ersten UML-Diagramme erstellen. Da meine Domain extreme-java.de ist, befindet sich jeder Code im Paket de.extremejava.
Da nicht alle Klassen öffentlich sein müssen, werden die parserbezogenen Klassen in einem Unterpaket namens url abgelegt. Erstellen Sie die erforderlichen UML-Elemente mithilfe der folgenden Schritte:
Erstellen Sie das Paket de.extremejava.url
Klicken Sie auf den -Button und dann auf den leeren UML-Diagrammbereich rechts, um ein Paketelement zu erstellen. Überschreiben Sie das ausgewählte Namensfeld mit ‚de‘ und drücken Sie die Eingabetaste, um das erste Paket zu erstellen:
Doppelklicken Sie auf das Element ‚de‘-package, um das neue Paket zu öffnen. Wiederholen Sie danach den obigen Vorgang, um die Pakete ‚de.etremejava‘ und ‚de.extremejava.url‘ zu erstellen.
Erstellen Sie die Klassen
Öffnen Sie das ‚url‘-Paket und klicken Sie auf den -Button und im leeren UML-Diagramm des‘ url‘-Pakets, um das erste Klassenelement zu erstellen. Nennen Sie es „URL“: