Java soyut sınıf adlandırma


9

Misal:

Ajax eylemleri için soyut bir sınıf oluşturursunuz. Farklı Ajax eylemleri bu sınıfı genişletir.

Sorun:

  1. AjaxAction veya AbstractAjaxAction sınıfını adlandırıyor musunuz?
  2. Alt sınıflar oluşturduğunuzda, bunları adlandırır mısınız?
    • Aksiyon
    • AjaxAction
    • Onlara ne olduklarını söyleyin

"Resmi" konvansiyonun ne olduğunu bulamadım. "Abstract" önekine veya alt sınıflarda gerekli adlandırma kurallarına ihtiyaç duymuyorum . (Buna bağlı olarak yine de sığabilir.)

Resmi bir toplantı var mı? Beni buna bağlayabilir misin? Ve bu konu hakkındaki görüşleriniz neler?

Yanıtlar:


16

Mümkün olduğunda, soyut bir sınıf veya arayüz için bir önek / sonek de dahil olmak üzere uygulama ayrıntılarını adların dışında bırakmaya çalışıyorum.

Adlandırma konusunda rehberlik / ilham almak için bakılacak yerlerden biri Java API'sidir. Ben önek kullanan herhangi bir bölüm düşünemiyorum (büyük bir istisna dışında Özet önek kullanan Koleksiyonlar API olmak). Aşağıdaki arama bazı iyi örnekler verecektir:

download.oracle.com/javase/6 adresindeki "genel soyut sınıf"

Soyut sınıfların soyut bir şey, somut alt sınıfların daha somut bir şey olduğunu göreceksiniz. Örneğin, arka sınıf Readerbeton alt sınıfları vardır BufferedReader, StringReader, InputStreamReadervs.

Somut alt sınıflarınız soyut sınıfınızın sadece daha spesifik versiyonları olduğundan, isimlerinizi aynı şekilde seçmek niyetlidir. Örneğinizde, soyut sınıfı AjaxActionadlandırır ve bunu somut alt sınıfların ( SpecificAjaxAction) adlarında kullanırdım .


12

Bir şey seçin ve tutarlı olun. Soneki Base, amaçlanan bir temel sınıfı veya öneki belirtmek için kullanıp kullanmadığınız Abstractkonusunda tutarlı olun.

Bu tür şeyler hakkında, programcılar kadar çok fikir var. Benim düşüncem, bir proje (veya geliştirme grubu ya da her ne olursa olsun) için isimlendirmedeki tutarlılık, herhangi bir özel isimlendirme şemasından daha önemlidir.


4

Soyut sınıfı AjaxActionBaseve son sınıflarına 'Action' ya da 'AjaxAction' adını verirdim, hangisi oluşturmak istediğim eylemler için daha doğal olarak okunabilirdi.


0

Basit ama çok önemli bir nedenden ötürü bir sınıfın adının soyut olduğuna dair bir ipucu vermeyi tercih ederim :

  • API'lerinizi soyut sınıflardan ziyade arayüzler etrafında oluşturmak daha iyidir.
  • Arayüzünüzü adlandırmak için basit adı kullanın, örneğin "Eylem". Örneğin, Java Collections API'sındaki Liste veya Harita'ya bakın - bunların tümü arabirimlerdir.

Bu nedenle, tipik olarak üst düzey soyut sınıf olarak AbstractAction veya BaseAction olarak adlandırılır. Çok özel bir ihtiyaç olmadığı sürece, normalde olur değil kodun kullanıcılar arayüzü kullanarak içine yönlendirildiği böylece, genel kullanıma açık olmasını. Özet temel sınıflar, insanların bunları nasıl genişletmelerini istediğiniz konusunda çok dikkatli değilseniz, API'nizin bir özelliği yerine genellikle bir uygulama ayrıntısı olmalıdır .

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.