Ahoj, nenašel jsem lepší místo pro publikování, tak jsem otázku směroval sem.
Vždy jsem si přes konstruktor předával závislosti v podobě rozhraní, nicméně, k čemu jinému je konstruktor v OOP?
Někde jsem viděl, že by parametr v konstruktoru měl reprezentovat daný objekt. Tedy v případě třídy Folder, by parametr v konstruktoru měl být daný název složky, aby poté tato třída reprezentovala danou složku.
Nebo v případě třídy, která se jmenuje Web, by opět v konstruktoru měl být parametr na daný web, třeba google.com a tak dále.
Zdá se mi to jako dobrý nápad, nicméně když budu chtít v konstruktoru předávat závislosti a poté ještě tyto parametry, bude počet parametrů docela velký.
Za další, pokud se budeme bavit o parametrech v metodách, které mají rozhraní, bude lepší, pokud tyto metody budou mít co nejméně parametrů? Tedy kupříkladu u třídy Folder, by bylo vhodné, pokud by měla metodu jménem read bez parametrů, protože složku, kterou reprezentuje již bylo zadáno v konstruktoru.
Mé otázky teda zní:
1. Míchat závisloti s obyčejnými skalárnimi typy v konstruktoru, je na tom něco špatného?
2. Psát metody pro rozhraní co nejtenčí (co nejméně parametrů, třeba i žádný) a vše potřebné si předávat v konstruktoru?
Děkuji