JLinX – Blog

Weblog von Jan Linxweiler

Was ist ein Framework und was nicht?

Filed under: Development,Software Engineering — Jannis at 4:00 pm on Sunday, February 11, 2007

 

Wie ist eigentlich der Begriff Framework definiert? – Und sind die Produkte, die den Namen Framework in ihrem Namen tragen tatsächlich Frameworks?

In einem Artikel des kürzlich erschienen dot.net magazins wird diese Frage nachgegangen…

 

(Quelle: dot.net magazin)

 

Der Begriff Framework wurde als Analogie zur realen Welt eingeführt…

 Als deutsche Ãœbersetzung findet sich beispielsweise “Rahmenwerk”, “Gerippe”, “Gerüst” oder auch “Fachwerk”. Ein Framework gibt somit bereits genau vor, welche Struktur das entstehende Gebilde besitzt und wie es funktioniert, mitunter sogar seinen Verwendungszweck…

Definition der GOF:
“Das Framework bestimmt die Architektur Ihrer Anwendung. Es definiert die Struktur im Großen, seine Unterteilung in Klassen un Objekte, die jeweiligen zentralen Zuständigkeiten, die Zusammenarbeit der Klassen und Objekte sowie deren Kontrollfuss. (…) Das jeweilige Framework enthält die Entscheidungen,die in diesem Anwendungsbereich allgemein anzufinden sind. Frameworks betonen damit die Entwurfswiederverwendung gegenüber der Codewiederverwendung, obwohl ein Framework üblicherweise konkrete Unterklassen enthält, die sie sofort verwenden können.”

Ein Framework in diesem Sinne bestimmt, wie die Struktur einer bestimmten Klassen von Anwendungen aussieht, und legt weitgehend fest, wie diese Anwendungen funktionieren. Das Framework hat die eigentliche Kontrolle und nicht die hinzugefügten Teile.
(vgl. Dependency Inversion Principle DIP – Hollywood Prinzip)
Motto: “Don’t call the framework, the framework calls you!”

Einteilung von Frameworks
Wird eine Klasse von Anwendungen definiert unterscheidet man zwei Richtungen:

  • Vertikale Frameworks erzeugen Anwendungen aus einer bestimmten Domäne. Sie werden daher auch als Domain Frameworks bezeichnet.
  • Horizontale Frameworks unterstützen die Entwicklung von Anwendungen, die eine bestimmte Technologie verwenden (z.B. Web Services), ohne auf die Fachrichtung festgelegt zu sein. Sie werden auch als Application Frameworks bezeichnet.

Eine weitere Unterscheidung betrifft die Notwendigkeit die interne Funktionsweise eines Frameworks zu kennen. Ein s.g. White-Box-Framework besteht aus abstrakten Klasse, die ein Entwickler zur Realisierung der Anwendung mit Inhalt füllen muss. Hierzu ist die Kenntnis über die internen Zuständigkeiten und Anhängigkeiten erforderlich. Ein Black-Box-Framework enthält dagegen fertige Klassen, die nur noch instantiiert, konfiguriert und zusammengesetzt werden müssen.

Zusätzliche Informationen
Framework Eintrag bei wikipedia.de

Massage-Passing Interface (MPI) Links

Filed under: Blogs & Links,Development — Jannis at 9:52 am on Friday, February 9, 2007

Tutorials

Implementations

OpenMP Links

Filed under: Blogs & Links,Development,HPC — Jannis at 1:18 pm on Wednesday, January 31, 2007

Visual Studio 2005 Keyboard Shortcut Reference Poster

Filed under: .NET,Development — Jannis at 10:00 am on Monday, January 29, 2007

Visual C# 2005 Keyboard Shortcut Reference Poster

Visual C++ 2005 Keyboard Shortcut Reference Poster

Vista Wissen

Filed under: .NET,Development,Windows — Jannis at 9:54 pm on Saturday, January 20, 2007

Windows Vista Developer Experience

Nützliche Links rund um Windows Vista – mit Informationen nicht nur für Entwickler.

MSDN’s Showtime!

Filed under: Development — Jannis at 9:51 pm on Saturday, January 20, 2007

http://www.microsoft.com/emea/msdnshowtime/

Steve Jobs: “Java ist ein Klotz am Bein!”

Filed under: Apple & Mac OS X,Development — Jannis at 1:46 pm on Tuesday, January 16, 2007

Steve Jobs: Kein Java auf dem iPhone

Free Visual Basic 2005 book from MS Press

Filed under: .NET,Bücher,Development — Jannis at 5:12 pm on Thursday, January 4, 2007

Introducing Microsoft Visual Basic 2005 for Developers

AVR Butterfly JTAG Pins For General I/O

Filed under: Development,Hardware — Jannis at 10:16 pm on Sunday, December 24, 2006

The JTAG-interface of the ATmega169 on the AVR Butterfly is enabled by default. While JTAG is enabled the four JTAG-pins PF4-PF7 (connected to PORT J402 of the AVR Butterfly) can not be used for general Input and Output. If JTAG debugging is not needed there are two possibilities to make those pins available.

  1. Disable the JTAG-Interface by Fuse
  2. Disable the JTAG-Interface by Software[Bascom code]

    ‘to disable JTAG
    Mcusr = &H80
    Mcusr = &H80

Taken from this article.

How to disable JTAG on RoboterNETZ.de.

BASCOM Laufschrift

Filed under: Development,Hardware — Jannis at 6:31 pm on Sunday, December 24, 2006
« Previous PageNext Page »