jschaedl / Iban

[Deprecated] Validating and generating international :bank: bank account numbers (IBAN)
MIT License
61 stars 25 forks source link

Feld "nächste BLZ" #3

Closed swarnat closed 10 years ago

swarnat commented 10 years ago

Da die nächste BLZ wirklich in jedem Fall zu verwenden ist und global für alle BLZ vorliegt, wäre mein Vorschlag, diese direkt in "IBANGenerator::_construct" auszuwerten, damit auch direkt die RuleFactory gleich korrekt erstellt wird.

Ich habe jetzt nicht die konkrete Regel im Kopf, aber einige nutzen diese Funktion um die BLZ automatisch auszutauschen und dann einfach Regel 000000 anzuwenden.

jschaedl commented 10 years ago

Ich denke, die Ersetzung im Konstruktor des IBANGenerators vorzunehmen wäre keine gute Idee. Der IBANGenerator soll so gut wie möglich von der Implementierung der Regeln entkoppelt sein und verwendet daher eine Factory zur Erstellung der Regeln. Vor allem, wenn man bedenkt, dass es später noch weitere RuleFactories für andere Länder geben könnte, müsste man spätestens dann an dieser Stelle anpassen und die Ersetzung in die konkrete RuleFactory ziehen.

Ich habe die Ersetzung nun am Anfang der createIBANRule() Methode der RuleFactory eingebaut (https://github.com/jschaedl/Iban/commit/98440cb46af67400f7b470b38515087dba413464).

jschaedl commented 10 years ago

Sollte es später dann wirklich weitere RuleFactories geben, kann man aus der vorhandenen RuleFactory Template Methoden abstrahieren und die "speziell deutsche" Bankleitzahlen Ersetzung wäre dann schon mal an der richtigen Stelle.