Herkes bu şekilde API veya kitaplık kodu tasarım mu?

oy
2

İyi bir kitaplık veya API tasarlamak hakkında bazı şeyleri okuma idi ve Google Tech Görüşmelerinin de Joshua Bloch'ın harika konuşma tökezledi. çok ölçekli aşağı rağmen ben profesyonel bir API geliştiricisi yakınında bile olmama rağmen Şimdi, sınıfları / fonksiyonların bir demet programlama düşünüyorum, bir benzer aynı şeyin sürümü - eylemlerin, keskin bir ayrım, hafifletmek ve zevkli kullanımı temiz kod teşvik , vb.

Ben (... yeni bir şey, ama sadece lucidly o kadar koyarak) bazı yaygın kullanılan açık kaynak Java kodu geçmekte ve bu fikri var edilmiştir

Bize bir örnek ele alalım sözde kod (ya da belki BASIC bazı lehçesi):

1. new label
2. set name 'hello world'
3. set color 'blue'
4. show 'topmost'
5. on click hide

Şimdi yapabilmek isterim Java kodu esinlenerek şey böyle:

1. Label l = new Label()
2.          .setName('Hello World')
3.          .setColor('blue')
4.          .show(zindex.top);
5. l.onClick = l.hide() ;

Benim sorum şudur:
Başkasının tasarım API'leri böyle sözde kodu başlayan mu?

Küçük bir şey için iyi bir fikir mi? Ki 10 sınıfları belki 10 yöntemler, her biri en fazla 5-6 den hat kodu, içinde her yöntem kadar. Tam API hiçbir yakın ve sadece bir hobi projesi - - Bu besbelli tasarlanmış olması sınıfların büyüklüğünü göstermek için sayıların sadece kaba bir dizi küçük bir şey yapar ama iyi yapar profesyonel bir paket .

kimse bu yaklaşıma herhangi bir ciddi sakıncaları buldu mu?

Bence tek gerçek yararı tam o ilk kullanım-durumlarda yazmak için zorlar .

Başka bir şey olduğunu isim ve fiillerin basit kalmak atlatmak için nihai ürünü sağlayan MultiPhraseAbstractParadigmDesignPatternImplementor sendromu :-D

Oluştur 22/01/2010 saat 20:40
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
0

Evet, bu jQuery tasarlandığını yoludur, her zaman kendisini dönen biter böyle zincir yöntemleri olabilir böylece.

Cevap 22/01/2010 saat 20:42
kaynak kullanıcı

oy
0

Ben boş sınıfları ve yöntemleri ile başlamak eğilimindedir. aşağıdan yukarıya tasarım vs yukarıdan aşağıya Onun gerçek bir soru.

Gerçekten olsa büyük bir beyaz tahta krokisini tercih ederim.

Cevap 22/01/2010 saat 20:45
kaynak kullanıcı

oy
3

Bu adlandırılan oldukça yaygın tasarım kalıptır akıcı arayüz . Bu fonksiyonel dillerde yaygındır ve başka yerlerde popülerlik kazanıyor. Ben ilk Şemada gördü.

Bu çok kullanışlı ve okunabilir deyim, ama çoğu zaman aslında tek bir işlev çağrısında birden fazla değişkeni başlatmak istiyoruz kez olacak unutmayın. Örneğin, bir veri kombinasyonuna göre ayarlanması gerekir iç devlet vardır, ya ayarlama ve varsayılan değerleri üzerine yazarken maliyetlidir. Yani, tüm "desen" olduğu gibi, mantıklı ve sağduyu ile kullanın.

Cevap 22/01/2010 saat 20:52
kaynak kullanıcı

oy
1

JQuery tam olarak bunu yapar. Gönderen http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/ :

jQuery('<div/>', {  
    id: 'foo',  
    css: {  
        fontWeight: 700,  
        color: 'green'  
    },  
    click: function(){  
        alert('Foo has been clicked!');  
    }  
}); 

ya da ön-1.4 için:

jQuery('<div/>')  
   .attr('id', 'foo')  
   .css({  
       fontWeight: 700,  
       color: 'green'  
   })  
   .click(function(){  
       alert('Foo has been clicked!');  
   });  

Ayrıca kodda WPF üreten C # benzer şeyler yaptım:

new StackPanel {
   Children = {
      new TextBlock { Text = "Hi there", Width = 50 },
      new TextBox { Width = 100 },
      new Border { 
          Content = new ListBox()
      }
   }
};
Cevap 22/01/2010 saat 21:46
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more