Assertions

Status
Nicht offen für weitere Antworten.
B

bygones

Gast
Hi,

arbeitet hier jemand mit assert und kann mir sagen ob das besser ist oder ob man es sich nicht angewöhnen braucht ??
 

L-ectron-X

Gesperrter Benutzer
Hm, was ist denn das?
Wo wir gerade dabei sind, Fremdworte (für mich) zu erklären:
Was sind oder ist Pattern?

Danke für die Aufklärung. :)
 
B

bygones

Gast
An assertion is a statement in the JavaTM programming language that enables you to test your assumptions about your program. For example, if you write a method that calculates the speed of a particle, you might assert that the calculated speed is less than the speed of light
mehr infos:
http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html

Was Patterns sind (ich liebe Patterns) ?

design patterns
are just convenient ways of reusing object-oriented code between projects and
between programmers. The idea behind design patterns is simple-- write
down and catalog common interactions between objects that programmers
have frequently found useful [...]
In other words, design patterns describe how objects communicate without
become entangled in each other’s data models and methods. Keeping this
separation has always been an objective of good OO programming, and if you
have been trying to keep objects minding their own business, you are
probably using some of the common design patterns already. Interestingly
enough, the MVC pattern has resurfaced now and we find it used in Java 1.2
as part of the Java Foundation Classes

D.h. Patterns sind eine Art Software Komponente:

Beispiele:
Singleton A class distributes the only instance of itself.
Adapter A class extends another class and takes in an object, and makes the taken object behave like the extended class.
Iterator One object can traverse all of the elements of another object.
Observer An object notifies other object(s) if it changes.

Iterator sollte per se bekannt sein - das Observer Pattern wird in Java für die ganze Listener Struktur verwendet...

Bekannt wurde die Patterns durch die sog. GoF (Gang of Four) - Four Software Entwickler die die ersten Patterns entwickelten. Seit dem wurde mehr und mehr entwickelt:
http://www.dofactory.com/patterns/Patterns.aspx
http://www.fluffycat.com/java/patterns.html
http://www.patterndepot.com/put/8/JavaPatterns.htm
 

zd

Bekanntes Mitglied
es hilft dir halt fehler zu vermeiden (bzw schnell zu finden).
schaden kanns auch nicht, da du das fertige prog dann ohne assertions compilieren kannst, d.h. sie kosten keine performance.
 
B

bygones

Gast
L-ectron-X hat gesagt.:
Also ist das so was ähnliches wie eine Java Bean?
Meinst du Design Patterns ??

Nein nicht wirklich - eine Bean ist ja einfach gesagt eine Klasse mit festen Regeln.... Patterns sind komplexer (aber man könnte vielleicht ne Bean als Pattern sehen).
Sie bestehen meist nicht aus einer Klasse sondern eher aus einer Logik, die mehrere Klassen beinhaltet. Des weiteren werden Beans auf Server Seite eingesetzt - Patterns sind überall einsetzbar.
 

L-ectron-X

Gesperrter Benutzer
deathbyaclown hat gesagt.:
Des weiteren werden Beans auf Server Seite eingesetzt - Patterns sind überall einsetzbar.
Sorry, aber eine Bean kann auch lokal benutzt werden, um Programme um Funktionen zu erweitern. Es sind in sich geschlossene Software-Komponenten, mit vordefinierten Schnittstellen. Sie müssen bestimmten Anforderungen (JavaBeans-Spezifikation) genügen.
Beispielsweise kann man eine Java-Bean schreiben, um in NetBeans mit Mausklick eine komplette Uhr (Zeitanzeige) in einem Programm hinzuzufügen.

Oder reden wir wieder mal aneinander vorbei? ???:L
 
B

bygones

Gast
L-ectron-X hat gesagt.:
Es sind in sich geschlossene Systeme, mit vordefinierten Schnittstellen.
Und das sind Patterns nicht - Patterns sind Muster, Schablone einer Software. D.h. sie sind immer Teil eines Ganzens.
Sie dienen dazu ein System flexibler und erweiterungsleichter zu machen. Da man sich beim Design eben an ein gewisses Muster hält.

Ich behaupte mal das Beans ein Pattern ist - aber das Pattern an sich ist abstrakter. Da ich aber nicht soviel über Beans weiß kann ich dir leider nicht mehr sagen....
 

nollario

Bekanntes Mitglied
Oh je...

Die lieben guten alten Design Patterns.... Google spuckt da Millionen Results aus: Erich Gamma ist so ein bisschen was wie der Urvater von den Design Patterns. Wie schon oben gesagt: das sind bekannte Lösungen für Probleme die wiederholt auftreten und dienen somit nicht nur zum Programmieren (schneller eine gute Lösung zur Hand), sondern auch zur Diskussion zwischen Programmiereren (Singleton - 1 Wort: privater Konstruktor, nur eine Instanz....).

Patterns Homepage:

http://hillside.net/patterns/
 

L-ectron-X

Gesperrter Benutzer
@deathbyaclown: In einem Buch, was ich hier habe, schreiben die Autoren, dass alle Swing-Klassen JavaBeans darstellen.
Bei den Beans steht also auch die Wiederverwendbarkeit im Vordergrund.

Und weiter...
...
Um Properties abzufragen und gegebenenfalls zu setzen, braucht man set- und get-Methoden. Diese sollten unbedingt gewissen Namenskonventionen genügen. Diese Namenskonventionen - in der Sun Spezifikation wurden leider mit dem nicht zutreffenden Begriff "Design Patterns" belegt.
 

Tobias

Top Contributor
Um mal zum eigentlichen Thema zurückzukommen - Assertions sind ne feine Sache, ein guter Debugger macht sie aber überflüssig... Zur Entwicklung von neuen Algorithmen kann man sie ganz gut benutzen, aber mit den Unittests steht da ja auch schon ein vollständig ausgereiftes Framework parat - alles in allem also: Assertions sind ein sinnvoller Bestandteil von Java, aber in der täglichen Programmierarbeit für mich von untergeordneter Bedeutung.

mpG
Tobias

P.S.: Ich wäre euch dankbar, wenn ihr eure Patterns-Diskussion in einen anderen Thread auslagern würdet!
 
B

bygones

Gast
Tobias hat gesagt.:
P.S.: Ich wäre euch dankbar, wenn ihr eure Patterns-Diskussion in einen anderen Thread auslagern würdet!
Guter Tipp und danke für die Assert aufklärung...
also falls noch fragen zu Design Patterns sind - bitte ins OOP - Unterforum posten (oder hier neuer Thread)
 

Isaac

Bekanntes Mitglied
Wir arbeiten mit JUnit Tests. Eine einfach zu implementierende Testumgebung die aber nicht in deinen Source direkt eingebettet wird.

Ich war erst spektisch aber nachdem ich sie nun in Aktion sehe muss ich zugeben das die wachsende Sammlung von JUnit Tests, die wir immer mal wieder erweitern wenn Methoden hinzukommen oder sich bestehende ändern, uns schon des öfteren davor bewahrt hat Versionen raus zu geben die Korrupt waren ohne das wir es gemerkt haben (wenn wir JUnit nicht eingesetzt hätten)


In grösseren Projekten die man nicht nur für sich selbst schreibt kann ich nur dazu raten sie zu nutzen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen


Oben