CodeGym /Java Blogu /Rastgele /Java'da tasarım kalıpları [Bölüm 1]
John Squirrels
Seviye
San Francisco

Java'da tasarım kalıpları [Bölüm 1]

grupta yayınlandı
Bu, Java'daki tasarım kalıpları hakkında kısa bir makaledir. Herhangi bir kalıp uygulaması olmayacak, sadece Java'daki kalıpların bir listesi ve her birinin kısa bir açıklaması olacak. Konuya zaten aşina olanlar için bu, bir inceleme ve özet olarak yardımcı olacaktır. Tersine, kalıpları ilk kez öğrenenler, daha derine inmeden önce konuya ilk genel bakış olarak bundan faydalanacaktır. Java'da tasarım kalıpları [Bölüm 1] - 1 Tasarım desenlerisık gerçekleşen programlama görevleri için kullanıma hazır çözümlerdir. Bir projeye bağlanabilecek bir sınıf veya kitaplık değildir. Bu daha fazlası. Her göreve uygun tasarım modelleri, her özel durumda uygulanır. Bir tasarım deseninin yanlış uygulandığında veya uygun olmayan bir göreve uygulandığında birçok soruna yol açabileceğini unutmamalısınız. Ancak, uygun şekilde uygulanan bir model, görevleri kolay ve basit bir şekilde tamamlamanıza yardımcı olabilir.

Desen türleri:

  • yaratıcı
  • yapısal
  • davranışsal
Oluşturma kalıpları, nesneleri uygun yollarla oluşturmanıza izin veren başlatma mekanizmaları sağlar. Yapısal kalıplar, sınıflar ve nesneler arasındaki ilişkileri tanımlayarak, bunların birlikte çalışmasına izin verir. Davranış kalıpları, varlıklar arasındaki etkileşimi basitleştirmek için kullanılır.

yaratıcı:

  • Singleton — bir sınıfın oluşturulmasını tek bir örnekle sınırlar ve bu tek örneğe erişim sağlar.

  • Fabrika — birden fazla alt sınıfa sahip bir üst sınıfımız olduğunda ve girdiye dayalı olarak bir alt sınıf döndürmemiz gerektiğinde kullanılır.

  • Soyut fabrika — daha sonra nesneleri oluşturmak için kullandığımız fabrikaları oluşturmak için bir süper fabrika kullanır.

  • Oluşturucu — basit nesneleri kullanarak karmaşık nesneler oluşturmak için kullanılır. Yavaş yavaş küçük, basit bir nesneden büyük bir nesne oluşturur.

  • Prototip — yinelenen nesneler oluştururken performansı artırmaya yardımcı olur; yeni bir nesne yaratmak yerine varolan bir nesnenin bir klonunu yaratır ve döndürür.

Yapısal:

  • Bağdaştırıcı — iki uyumsuz nesne arasında dönüştürücü. Uyumsuz iki arayüzü birleştirmek için adaptör modelini kullanabiliriz.

  • Bileşik — bir ağaç yapısını temsil etmek için bir sınıf kullanır.

  • Proxy — başka bir sınıfın işlevselliğini sağlar.

  • Flyweight — çok sayıda benzer nesne oluşturmak yerine nesneleri yeniden kullanır.

  • Cephe — istemci için sistemle etkileşim kurmak için arabirimi kullanan basit bir arabirim sağlar.

  • Köprü — belirli sınıfları bir arabirim uygulayan sınıflardan bağımsız hale getirir.

  • Dekoratör — mevcut bir nesneye, yapısına bağlı kalmadan yeni işlevler ekler.

Davranışsal:

  • Şablon yöntemi — temel bir algoritma tanımlar ve alt öğelerin, genel yapısını değiştirmeden algoritmanın bazı adımlarını geçersiz kılmasına izin verir.

  • Arabulucu — farklı sınıflar arasındaki tüm iletişimi yöneten bir aracı sınıf sağlar.

  • Sorumluluk zinciri — bir talebin göndericisi ve alıcısı arasında katı bir bağımlılıktan kaçınmayı mümkün kılar; ayrıca istek birkaç nesne tarafından işlenebilir.

  • Gözlemci — bir nesnenin diğer nesnelerde meydana gelen olayları izlemesine ve bunlara yanıt vermesine izin verir.

  • Strateji — stratejilerin (algoritmaların) çalışma zamanında değiştirilmesine izin verir.

  • Komut — belirli bir eylemi gerçekleştirmek için bir yöntem bildiren bir arabirim.

  • Durum — bir nesnenin durumuna bağlı olarak davranışını değiştirmesine izin verir.

  • Ziyaretçi — ilgili nesne grupları üzerindeki işlemleri basitleştirmek için kullanılır.

  • Tercüman — problem alanındaki basit bir dil için bir gramer tanımlar.

  • Yineleyici — bir koleksiyonun öğelerine, temel biçimini bilmeden sırayla erişir.

  • Memento — bir nesnenin durumunu saklamak için kullanılır; bu durum daha sonra geri yüklenebilir.

CodeGym kursunda ilerlerken, bu listede birkaç modelle karşılaşacaksınız. Kalıplarla ilgili şu görevleri öneriyorum: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... Tasarım kalıplarının akıllıca kullanılması daha güvenilir kod bakımına yol açar, çünkü tasarım kalıplarının yaygın sorunlara iyi çözümler olmasının yanı sıra , diğer geliştiriciler bunları tanıyabilir ve belirli kodlarla çalışmak için gereken süreyi azaltır.
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION