Pokud ostatní atributy nepotřebuji, tak je v tom objektu ani nemusím mít. Budu tam mít jen jméno a demenci, resp. metoda toString() bude vypisovat pouze jméno a demenci. Pokud je motoda toString() obsazena úplnou prezentací objektu, mohu napsat další prezenteční metodu, která poskytne jméno a demenci v požadovaném formátu. Možná to označíš za getter, ale vzhledem k tomu, že to nepoužívám, tak je to jedno.
Přijde mi poněkud úsměvné, že zrovna osoba, která se tak vehementně zaštiťuje čistotou kódu, návrhovými vzory, principy, mnohdy dovedenými až do absurdna tu najednou vyprodukuje obhajobu svého postupu, kterou lze interpretovat takto:
Bytostně nenávidím a tedy nepoužívám gettery. Místo toho raději své business/dto/doplň_si_sám třídy zaneřádím balastem, který do jmenované vrstvy vůbec nepatří - totiž prezentační logikou. Je to sice nepružné, neelegantní, omezující a obtížně použitelné, ale nandal jsem to těm zpropadeným getterům. Tyhlety jazykové, regionální a uživatelem definovatelné prezentační preference každého jenom otravují. Jedna textová reprezentace třídy musí stačit všem, definuju já. Za ideály jsem připraven přinést oběti.
S tímto tvým přístupem musí být lahůdka řešit tabulková data, MVC, MVVM, WPF data binding, data mappery, entity, ORM atd.
Příklad z nejtriviálnějších: třída BusinessCard. Bez getterů či jiných read-only přístupových metod ke strukturovaným datům. Šílenost. Řekněme, že v uvedené třídě je mimo jiné použit atribut popisující pohlaví pomocí interního kódu. Koncovému uživateli jej v metodě ToString naformátuješ jak? Kdo a jak rozhodne o tom co je to požadovaný formát a jak se to nebohá třída implementující koncověuživatelskopřívětivý ToString dozví, a co je jí vlastně po tom?
Ad VIM vs VS. Mám jisté obavy, že ve VIMu vůbec nepůjde zrealizovat spousta věcí, které jsou ve VS samozřejmé a každodenní rutinou. Vývoj UI, generované třídy, např. entity framework, WS klient, rozumná práce se solution. Všechny ty graficko-interaktivní záležitosti, v jistých kruzích nepopulární zato efektivní "klikátka".