Ik was het lezen van een aantal dingen over hoe je een bibliotheek of API ontwerpen goed, en struikelde over grote talk Joshua Bloch bij Google Tech Talks. Nu hoewel ik nergens ben in de buurt van een professionele API-ontwikkelaar, ik denk dat het programmeren van een bos van klassen / functies is een vergelijkbaar, hoewel veel verkleinde versie van hetzelfde - duidelijke scheiding van de acties, gemak en plezierig gebruik, het stimuleren van schone code , enz.
Ik ging door een aantal veel gebruikte open source Java-code en kreeg dit idee (niets nieuws, maar zetten het op een heldere manier ...)
Laten we een voorbeeld nemen pseudo-code (of misschien sommige dialect van BASIC):
1. new label
2. set name 'hello world'
3. set color 'blue'
4. show 'topmost'
5. on click hide
Nu is geïnspireerd door de Java-code die ik zou willen kunnen doen iets als dit:
1. Label l = new Label()
2. .setName('Hello World')
3. .setColor('blue')
4. .show(zindex.top);
5. l.onClick = l.hide() ;
Mijn vraag is:
Heeft iemand anders ontwerp API uitgaande van pseudo-code als deze?
Is het een goed idee voor iets kleins? Zeggen upto elk met misschien 10 werkwijzen 10 klassen, elke methode maximaal dan 5-6 regels code erin. Dat is natuurlijk maar een ruwe set van nummers aan om de grootte van de klassen te tonen worden ontworpen - nergens dicht bij een volledige API en niet alleen een hobby project - een professioneel pakket dat kleine iets doet, maar doet het goed .
Heeft iemand vond geen ernstige nadelen aan deze aanpak?
Ik denk dat de enige echte voordeel is dat het je dwingt eerst op te schrijven uw use-cases .
De andere is dat de zelfstandige naamwoorden en werkwoorden blijven eenvoudig , waardoor uw uiteindelijke product te ontwijken de MultiPhraseAbstractParadigmDesignPatternImplementor syndroom :-D













