Guten Tag liebe Java Menschen!
Ich habe ein kleines OOP Problem.
Und zwar Programmiere momentan ein eigenes Log System für mein Programm (Ich weiß es gibt schon fertige, aber ich wollts halt mal selber machen :bae. Nun habe ich mich etwas an der Standardklasse von Sun orientiert und mir ne Klasse Logger und Formatter gemacht. Soweit funktioniert alles super. Formatter is abstract und hat "getHead", "getTail" und "format(Level, message, Millisekunden)" als Methoden. für den Log. Der Logger hat Methoden wie severe und info usw.
Soooo... soweit sollte es hoffentlich verständlich sein. Um es auf den Punkt zu bringen:
Jetzt hab ich z.B. einen speziellen Formatter für HttpRequest Responses. Da bräuchte ich "format(HttpResponse)" oder "format(Level, Message, Millisekunden, URI, RequestTyp)". An sich ja kein Ding ne neue Methode zu machen aber mich stört das irgendwie OO technisch. Der HttpRequestFormatter is ja ein spezieller Formatter nur kann der Logger ja auf einmal nicht mehr wissen, dass er ne andere format Methode nutzen soll. Und die alte format Methode muss ja implementiert werden (is ja abstract) obwohl sie total Sinn frei ist.
Ich find es einfach irgendwie unschön so aber ich weiß nicht wie ich das OO schön lösen kann. Jemand irgendwelche Ideen?
LG
Ocean15
PS.: Hoffe man kann es einigermaßen verstehen
Ich habe ein kleines OOP Problem.
Und zwar Programmiere momentan ein eigenes Log System für mein Programm (Ich weiß es gibt schon fertige, aber ich wollts halt mal selber machen :bae. Nun habe ich mich etwas an der Standardklasse von Sun orientiert und mir ne Klasse Logger und Formatter gemacht. Soweit funktioniert alles super. Formatter is abstract und hat "getHead", "getTail" und "format(Level, message, Millisekunden)" als Methoden. für den Log. Der Logger hat Methoden wie severe und info usw.
Soooo... soweit sollte es hoffentlich verständlich sein. Um es auf den Punkt zu bringen:
Jetzt hab ich z.B. einen speziellen Formatter für HttpRequest Responses. Da bräuchte ich "format(HttpResponse)" oder "format(Level, Message, Millisekunden, URI, RequestTyp)". An sich ja kein Ding ne neue Methode zu machen aber mich stört das irgendwie OO technisch. Der HttpRequestFormatter is ja ein spezieller Formatter nur kann der Logger ja auf einmal nicht mehr wissen, dass er ne andere format Methode nutzen soll. Und die alte format Methode muss ja implementiert werden (is ja abstract) obwohl sie total Sinn frei ist.
Ich find es einfach irgendwie unschön so aber ich weiß nicht wie ich das OO schön lösen kann. Jemand irgendwelche Ideen?
LG
Ocean15
PS.: Hoffe man kann es einigermaßen verstehen
Zuletzt bearbeitet: