«interfaces» etiketlenmiş sorular

Arayüze programlama gibi arayüzle ilgili tasarım hususları hakkında sorular.

3
Jenerik mi ortak arayüz mü?
Geçen sefer jenerik dersi ne zaman yazdığımı hatırlamıyorum. Her düşündüğümden sonra ihtiyacım olduğunu her düşündüğümde bir sonuca varmam. İkinci cevap bu soruya beni (ben henüz yorum yapamam çünkü ben yeni bir soru yapılan) açıklama istemek için yapılmıştır. Şimdi, jeneriklere ihtiyaç duyduğu bir duruma örnek olarak verilen kodu alalım: public class …

4
Arayüzleri kim genişletir? Ve neden?
AFAIK, sınıf extendsana sınıflarım ve implementsarayüzlerim. Ama kullanamayacağım bir durumla karşılaşıyorum implements SomeInterface. Genel türlerin beyanıdır. Örneğin: public interface CallsForGrow {...} public class GrowingArrayList <T implements CallsForGrow> // BAD, won't work! extends ArrayList<T> Burada implementssözdizimi kullanmak yasaktır. İlk önce, <> içindeki arayüzü kullanmak hiç yasak değil, ama hayır diye düşündüm. …

6
Yazar herhangi bir uygulamaya arayüz referansı vererek ne anlama geliyor?
Şu anda C # konusunda uzmanlaşmaya çalışıyorum, bu yüzden Gary McLean Hall tarafından C # ile Adaptive Code okuyorum . Desenler ve anti-desenler hakkında yazıyor. Uygulamalara karşı arayüzler kısmında şunları yazar: Arayüzlere programlama kavramında yeni olan geliştiriciler genellikle arayüzün arkasındaki şeyleri bırakmakta zorluk çekerler. Derleme zamanında, bir arabirimin herhangi bir …

2
En az şaşkınlık (POLA) ve arayüzler ilkesi
C ++ öğreniyorken yüzyılın iyi bir çeyreği, arayüzlerin affedici olması ve mümkün olduğunca tüketicilerin kaynak veya belgelere erişemeyeceği için yöntemlerin çağrıldığı sırayı umursamayacağı öğretildi. bu. Ancak, ne zaman genç programcılara ve kıdemli geliştiricilere beni kulak misafiri olduysa, bunun gerçekten bir şey olup olmadığını veya modası geçmiş olup olmadığını merak ettim. …

5
Numaralamalar kırılgan arayüzler yaratıyor mu?
Aşağıdaki örneği düşünün. ColorChoice enum öğesinde yapılan tüm değişiklikler tüm IWindowColor alt sınıflarını etkiler. Numaralamalar kırılgan arayüzlere neden olma eğiliminde mi? Daha polimorfik esnekliğe izin vermek için bir numaradan daha iyi bir şey var mı? enum class ColorChoice { Blue = 0, Red = 1 }; class IWindowColor { public: …

4
Bir ön uç geliştirici, arka uç geliştiriciler için hiç JSON biçimini belirtmeli mi?
Bir projede ön uç rolü üstleniyorum. Arka uç takım arkadaşlarım için PHP'nin JavaScript'ime döndürdüğü tam JSON biçimini belirtmeli miyim? Örneğin, onlara burada açıklanan biçime benzer bir biçim kullanmaları gerektiğini söylüyorum: Ön uç tüketimi için JSON'u yapılandırmanın uygun yolu Yoksa rolümü olabildiğince steril tutmalı ve arka uç arayüzünden ihtiyacım olan giriş …

5
Arayüzler ne zaman kullanılır (birim testi, IoC?)
Burada bir öğrenci hatası yaptığımı sanıyorum ve açıklama arıyorum. Benim çözüm (C #) sınıfların birçoğu - ben çoğunluk söylemeye cesaret - Ben karşılık gelen bir arayüz yazma sona erdi. Örneğin, bir "ICalculator" arayüzü ve onu uygulayan bir "Hesap Makinesi" sınıfı, bu hesap makinesini asla farklı bir uygulama ile değiştirmeme rağmen. …

4
Sınıf ve arayüz dosyalarını en iyi nasıl düzenleyebilirim?
Tamam .. tüm tartışmalardan sonra, ele aldığım somut bir örneği daha iyi yansıtmak için sorumu biraz değiştiriyorum. İki sınıf var ModelOneve ModelTwobu sınıflar benzer işlevsellik gerçekleştirmek ancak birbirleriyle ilgisiz. Ancak CommonFunc, her ikisinde de uygulanan ModelOneve ModelTwobaşına göre çarpan bazı kamu işlevselliği içeren üçüncü bir sınıf var DRY. İki model …

5
C # arayüzünde “Using” anahtar kelimesinin kullanımı
Bazı kod yazmak için C # kullandığımda ve Visual Studio 2010 kullanarak bir arabirim tanımlarken, her zaman bir dizi "using" ifadeleri içerir (örnekte gösterildiği gibi) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestEngine.TestNameSpace { interface ITest1 { bool testMethod(int xyz); } } Bunların ne için olduğunu ve gerçekten …

2
PHP'de Yasadışı: OOP tasarım nedeni var mı?
Aşağıdaki arayüz kalıtımı PHP'de yasadışıdır, ancak gerçek hayatta oldukça yararlı olacağını düşünüyorum. Aşağıdaki tasarımda gerçek bir antipattern veya belgelenmiş bir problem var mı, PHP'nin beni koruyor mu? <?php /** * Marker interface */ interface IConfig {} /** * An api sdk tool */ interface IApi { public __construct(IConfig $cfg); } …

5
Nesneyi aynı yönteme iki kez geçirin veya birleştirilmiş arayüzle birleştirin mi?
Bir dijital tahta ile konuştuktan sonra bir veri dosyası oluşturan bir yöntem var: CreateDataFile(IFileAccess boardFileAccess, IMeasurer boardMeasurer) İşte boardFileAccessve boardMeasurerbir aynı örneği olan Boardnesne olduğunu uygular hem IFileAccessve IMeasurer. IMeasurerbu durumda basit bir ölçüm yapmak için kart üzerindeki bir pimi aktif hale getirecek tek bir yöntem için kullanılır. Bu ölçümden …

3
Arabirimler gevşek bağlantının elde edilmesinde üst sınıflardan neden daha yararlıdır?
( Bu sorunun amacı için, 'arayüz' dediğimde, başka bir deyişle kelimenin bir anlamında bir 'arayüz' değil , dil kurumu kastediyoruminterface , yani bir sınıfın iletişim kurmak için dış dünyaya sunduğu kamusal yöntemler ve manipüle edin. ) Gevşek bağlantı, bir nesnenin beton tipi yerine soyutlamaya bağlı olmasıyla elde edilebilir. Bu, iki …

5
Bir arabirime işlevsel programlama alternatifi nedir?
"İşlevsel" bir tarzda programlamak istersem, bir arayüzle ne değiştirirdim? interface IFace { string Name { get; set; } int Id { get; } } class Foo : IFace { ... } Belki bir Tuple<>? Tuple<Func<string> /*get_Name*/, Action<String> /*set_Name*/, Func<int> /*get_Id*/> Foo; İlk etapta bir arayüz kullanmamın tek nedeni, her zaman …

6
Soyut sınıflar, arayüzler ve bunların ne zaman kullanılacağı arasındaki farklar nelerdir
Son zamanlarda başımı OOP etrafına sarmaya başladım ve şimdi soyut sınıflar ve arayüzler arasındaki farklar hakkında ne kadar çok okursam o kadar karışık hale geliyorum. Şimdiye kadar ikisi de somutlaştırılamaz. Arayüzler iskeleti belirleyen az ya da çok yapısal planlardır ve özetler kısmen kod uygulayarak farklıdır. Özel durumum aracılığıyla bunlar hakkında …

6
Arayüz yöntemlerini soyut yöntemler olarak düşünebilir miyim?
Bunu düşünüyordum ve bazı şüphelerim vardı. Bir arayüz beyan ettiğimde, örneğin: public interface MyInterface { public void method1(); public void method2(); } Bu arayüz yöntemleri soyut kabul edilebilir mi? Demek istediğim, soyut bir yöntem kavramı: Soyut bir yöntem, bildirilen ancak uygulama içermeyen bir yöntemdir. Peki, bu yöntemler soyut kabul edilebilir …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.