tiOPF/de

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) italiano (it) 日本語 (ja)

Über

Das TechInsite Object Persistence Framework (tiOPF) ist ein Open Source Framework von Delphi/Object Pascal Code, das das Mapping eines objektorientierten Geschäftsmodells in eine relationale Datenbank vereinfacht. Das Framework ist ausgereift und robust. Es wird an verschiedenen Standorten seit 1999 eingesetzt. Es ist frei, Open Source und für den sofortigen Download mit dem kompletten Quellcode verfügbar.

Einige der Schlüsselmerkmale von tiOPF beinhalten:

  • Lässt sie eine Objektorientierte Applikation bauen, die ihnen erlaubt die Datenbank einfach zu wechseln, nur mit einem Kommandozeilenparameter oder dem wechslen einer Compiler Direktive. Aktuell gibt es persistence layers für:
    • Interbase via IBX
    • Oracle via DOA
    • MySQL via Zeos
    • MySQL via SqlDB
    • XML via MSDOM
    • XML via XMLLite
    • Paradox via BDE
    • MSAccess via ADO
    • MSSQLServer via ADO
    • MSSQLServer via SqlDB
    • Firebird via FBLib
    • Firebird via Zeos
    • Firebird via SqlDB
    • PostgreSQL via SqlDB
    • HTTP Remote Persitstence (für n-tier applications mit eingebauten Generic Applicationserver)
    • Text files (CSV und TAB Dateien)
  • Family of abstract base classes for building a complex object model
  • 27 Persistent object aware components for building complex GUIs (nur Delphi).
  • Model-GUI-Mediators for enabling any standard GUI component to become Object Aware.
  • mehr als 1600+ DUnit2/FPTest Tests, um die Stabilität zu garantieren
  • 160+ Seiten Dokumentation für den Einstieg
  • News groups für den Support
  • Automated, daily builds and unit testing
  • Lots of demos focusing on specific parts of the framework for easy learning.
  • Cross platform. Aktuell getestet unter Windows, Linux and FreeBSD (32 & 64-bit).

Autoren

Peter Hinrichsen - Ursprünglicher Designer.
Graeme Geldenhuys - Portiert nach Free Pascal.

Lizenz

tiOPF verwendet eine duale Lizenz. Developer können die Mozilla Public License 1.1 oder die Modifizierte LGPL Lizenz (wie bei FPC und Lazarus) verwenden.

Download

Seit einigen Jahren macht das tiOPF Projekt keine offiziellen Release Downloads. Das tiOPF Projekt arbeitet mit einem entsprechenden Prinzip des 'Rolling Release'. Wenn sie die letzte Version mit den letzten Features und Fixes haben wollen, so müssen sie den Quellcode aus dem Git Repository laden.

Sie können die folgenden Befehle verwenden um die Quellen auszuchecken:

git clone git://tiopf.git.sourceforge.net/gitroot/tiopf/tiopf

Sie haben nun ein 'tiOPF' Verzeichnis mit dem tiOPF Repository. Standardmäßig wird Git auch die "Master" Zweig für sie ausgeschecked haben. Der 'Master' Zweig wird nicht verwendet für die Entwicklungsarbeit. Wechseln sie in den tiOPF2 Zweig, über folgende Befehle:

 git branch tiopf2 origin/tiopf2                (1)
 git checkout tiopf2                            (2)
  1. Erzeugt einenlokalen Zweig names 'tiopf2', welcher auf den remote Zweig des tiOPF2 Zweiges zeigt.
  2. Wechselt zum lokalen 'tiopf2' Zweig.

NOTE:
Bei der Arbeit mit Free Pascal und tiOPF , ist die einzige unterstützte Compiler der neueste freigegebene FPC (und der damit verbundenen fixed Branch) , und der 'tiopf2' Zweig von tiOPF .

Für eine kurze Einführung in die Verwendung von Git , können sie in einer Nachricht auf der tiopf.development Newsgroup nachlesen . tiopf.development;article=3272. Für eine sehr gute und detaillierte Beschreibung über Git, empfehlen wir ihnen die offizielle Git-Dokumentation hier: http://git-scm.com/documentation zu durchsuchen.

Abhängigkeiten / Systemvoraussetzungen

  • Compiler: Free Pascal 2.6.4. Die letzte released FPC.
  • Komponenten für ihren beötigten persistence layer, wenn er nicht mit dem Compiler mitkommt.

Status: Stabil (getestet unter Windows, Linux und FreeBSD)

Probleme: Keine

Installation

Die Packages

In dem <tiopf>\Compilers\FPC Verzeichnis gibt es 4 Packages.

tiOPF.lpk
Kernunits (nur Laufzeit Package)
tiOPFGUI.lpk
GUI bezogene Units und tiOPF+LCL custom Komponenten [deprecated](nur Laufzeit Package).
tiOPFGUIDsgn.lpk
Registriert/Installiert die tiOPF+LCL custom Komponenten in die Lazarus Komponentenpalette [deprecated](nur Entwicklungszeit Package). Die unter Lazarus verwendeten GUI tiOPF+LCL custom Komponenten sind ungewartet deprecated. Es wird empfohlen stattdessen die Model-GUI-Mediatoren zu verwenden. Siehe tiOPFLCL.lpk package stattdessen.
tiOPFLCL.lpk
GUI betreffende units welche die tiOPFGUI.lpk ersetzt und beinhaltet keine der tiOPF custom GUI components. (nur Laufzeit Package)
tiOPFHelpIntegration
Integriert die von fpdoc generierten Hilfedateien in das Lazarus Hilfesystem (nur Entwicklungszeit Package)

Die Installation

  • Starten Sie die Lazarus IDE
  • Öffnen Sie das Package tiOPF.lpk mit Komponenten -> Package-Datei (.lpk) öffnen... im Verzeichnis <tiopf>\Compilers\FPC.
  • Klicken Sie auf Kompilieren
  • Öffnen Sie das tiOPFLCL.lpk Package und klicken Sie auf Kompilieren

Optional

  • Öffnen Sie das tiOPFHelpIntegration.lpk Package und klicken Sie auf Installieren (Lazarus wird neu erstellt und startet neu).

ANMERKUNG #1
Ich habe die SqlDB database+Firebird Komponenten als Vorgabe- persistence layer für Free Pascal im tiOPF.lpk Package eingebunden. Das war einfach deshalb, da SqlDB im FPC beinhaltet ist und Firebird eine populäre Datenbank option. Wenn sie diesen persistence layer nicht benötigen, so können sie ihn wie unten beschrieben einfach deaktivieren.

Persistence layers werden kontrolliert mit einer Compiler Directive unter Projekt -> Compilereinstellungen -> Andere -> Benutzerdefinierte Einstellungen, z.B. die LINK_SQL_DB Anweisung bezieht sich auf die SqlDB (Interbase/Firebird) Komponenten. Schauen Sie in das Ende der tiOPFManager.pas Unit, um alle verfügbaren Optionen kennenzulernen.

ANMERKUNG #2
Damit die integrierte Hilfe funktioniert, muss Lazarus wissen, wo es die HTML-Hilfedateien finden kann. Bitte lesen Sie die tiOPFHelpIntegration.txt Datei, welche sich in <tiopf>\Compilers\FPC befindet, für weitere Anweisungen.

Verwendung

In Lazarus, öffnen Sie ihr Projekt und fügen Sie tiOPF als ein benötigtes Package hinzu (Projekt -> Projektinspektor -> Hinzufügen). Nehmen Sie tiObject in ihren uses-Abschnitt auf. Sie sind nun bereit, ein von TtiObject oder TtiObjectList abstammendes Objekt zu erzeugen.

Siehe die Beispielprojekte im Demos Verzeichnis für zusätzliche Beispiele.

Informationen

Grundlagen über tiOPF und Pattern

Für jemanden der Basisinformationen über tiOPF und Pattern sucht. Alle Artikel sind in Englisch. [1] http://geldenhuys.co.uk/articles/

Graeme Geldenhuys

2008-08
Simple Factory Pattern (download pdf) [150KB]
2008-09
Model-GUI-Mediator (download pdf - 251KB) & (source code - 9KB)
2008-11
Iterator Pattern (download pdf - 147KB) & (source code - 4KB)
2009-01
The Adapter Pattern (download pdf) [237KB]
2009-02
Intro to Git - source code management (download pdf) [257KB]
2009-03
The State Pattern (download pdf) [217KB]
2009-07
Relationship Manager (download pdf) [375KB]
2009-09
Hierarchies in SQL - Nested Sets (download pdf) [163KB]
2011-12
The Facade Design Pattern (download pdf) [297KB]