Bazen program yazarken projenin sınıflar arası uyumunda sorunlar yaşıyorum örneğin yeni bir özellik eklemek istediğimde tıkanıyorum veya birden fazla nesne oluşturuyorum vb bunun gibi durumlar oluyor. Bu gibi durumlar yaşamamak için diagramlar oluşturarak planlı olmak gerekiyor. Visio programını kullanmıştım bi ara ama kullanımı açısından pratik olmadığından zamanla kullanımını bıraktım. Sizin kullandığınız veya önerebileceğiniz program var mı pratik ve hızlı kullanımı olabilen? Doğruluğunu bilmediğim bir düşüncem bulunmakta Sınıf Uyumunu gösteren UML diyagramının kusursuz olması için diğer diyagramların oluşum doğrultusunda oluşmalıdır. Eğer bu görüşüm doğruysa Diyagram tiplerinin oluşturma sırası nasıl olmalıdır?

  public interface NewClass {
    static String a="a"; // String a="a"; //final String a="a";  bu üç kullanım arasındaki fark varmıdır?Varsa fark nedir?
       abstract void test(); //public void test()//void test()   bu üç kullanım arasındaki fark varmıdır?Varsa fark nedir?
    }
    public  class NewClass {
    abstract static  class as{String a="a";} //abstract class as{String a="a";}// public static  class as{String a="a";}  bu üç kullanım arasındaki  fark nedir?
    }

soruldu: 11 Nis '14, 08:35

alpgul's gravatar image

alpgul
75141819
cevap kabul oranı: 0%

kapatıldı: 11 Nis '14, 08:41

Turgay%20Can's gravatar image

Turgay Can
8.4k63799


OOP, Abstraction (Soyutlama) prensibi, Access modifier(Erişim deneyetlicileri) konusuna açıp bakınız.

Vikipedia'da buna dair basit bir anlatım mevcut, oldukçada anlaşılır.

http://www.btsoru.com/questions/430/java-interface-ve-abstract-snf-farklar-nedir

http://www.btsoru.com/questions/6436/oopde-soyut-snf-ne-amacla-kullanlr

http://www.btsoru.com/questions/9054/extend-ve-implement-nasl-kullanlr

Soruların cevapları içerisinde istediğiniz bilgiler mevcut. Soruyu mükerrer(tekrar eden içerik niteliğinde) olduğu için kapatıyorum.

Ek olarak, yazılım mimarisi için benimsediğim bir kaç prensip, sınıflar arası bağımlılık oldukça esnek olmalıdır. Sınıflar kendine has yğkleri/sorumlulukları taşımalıdır. Bir sınıf üzerine çok yük yüklerseniz, o sınıfın testlerini yazmanız güçlerşir yada yazılmaz hal alır. Kontrolüde oldukça güçleşir.

Yazılım mimarisi içinde, yazılım geliştirme süreçleri içinde edinilen tecrübe ve bu tecrübe ortaya çıkan yazılım tasarım şablonları (design patterns) mevcuttur. İhtiyaç duyulan her yerde bu tür best practice(en iyi çözümler) kullanılmalıdır lakin tasarım şablonlarını anlamak ve kullanmak içinde bol bol tecrübe etmek gerek. Çünkü yanlış tasarımlar üzerine geliştirilen sistemlerin tıkanma ve ilerleyememe yol açabilir.

permanent link

cevaplandı: 11 Nis '14, 08:40

Turgay%20Can's gravatar image

Turgay Can
8.4k63799
cevap kabul oranı: 18%

değiştirildi: 11 Nis '14, 08:50

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×13
×11
×10
×4
×2

Soruldu: 11 Nis '14, 08:35

Görüntüleme: 712 kez

Son güncelleme: 11 Nis '14, 08:50

powered by BitNami OSQA