Četl jsem nějaké věci, o tom, jak vytvořit knihovnu nebo API dobře, a narazil Joshua Blocha velké diskuse na Google Tech Talks. Teď když jsem zdaleka profesionální developer API, myslím, že programování spoustu tříd / funkcí je podobný, ačkoli hodně zmenšená verze stejnou věc - jednoznačné oddělení činností, snadné a příjemné používání, povzbuzovat čistý kód , atd.
Jsem šel přes některé široce používané open source kódu Java a dostal tento nápad (nic nového, ale jen uvedení do průzračně ...)
Vezměme si příklad pseudo kód (nebo možná nějaký dialekt BASIC):
1. new label
2. set name 'hello world'
3. set color 'blue'
4. show 'topmost'
5. on click hide
Nyní inspirovaný kódu v jazyce Java bych chtěl, aby bylo možné udělat něco takového:
1. Label l = new Label()
2. .setName('Hello World')
3. .setColor('blue')
4. .show(zindex.top);
5. l.onClick = l.hide() ;
Moje otázka zní:
Má někdo jiný konstrukční API od pseudo-kódu, jako je tento?
Je to dobrý nápad na něco malého? Řekněme, že až pro 10 tříd, z nichž každá má asi 10 metod, z nichž každá metoda není větší než než 5-6 řádků kódu uvnitř. To je samozřejmě jen hrubý sadu čísel ukázat velikost tříd, které mají být navrženy - nikde blízko k plné API a ne jen hobby projekt - profesionální balíček, který dělá něco menší, ale dělá to dobře .
Má někdo našel nějaké závažné nedostatky tohoto přístupu?
Myslím, že jeden skutečný přínos je, že vás nutí nejprve zapsat své use-případy .
Druhá věc je, že podstatná jména a slovesa zůstat jednoduchý , což umožňuje konečného produktu vyhýbat se MultiPhraseAbstractParadigmDesignPatternImplementor syndrom :-D













