Saya belajar Pola Desain Java GoF dan saya ingin melihat beberapa contoh nyata dari mereka. Apa saja contoh bagus dari Pola Desain ini di pustaka inti Java?
java
oop
design-patterns
java-api
unj2
sumber
sumber
javax.lang.model.element
mendefinisikan pengunjung;) Saya tidak yakin apakahdoXXX
dandoFilter
"strategi".Observable
,Observer
)ContainerAdapter
,ComponentAdapter
,FocusAdapter
,KeyAdapter
,MouseAdapter
yang tidak adapter; mereka sebenarnya Null Objects. Pilihan penamaan yang buruk oleh Sun.BufferedInputStream
dapat menghias aliran lain sepertiFilterInputStream
)java.lang.Runtime#getRuntime()
adalah SingletonButtonGroup
untuk pola MediatorAction
,AbstractAction
dapat digunakan untuk representasi visual yang berbeda untuk mengeksekusi kode yang sama -> pola perintahdan masih banyak lagi kurasa
sumber
clone()
metode ini dapat digunakan untuk tujuan ini.sumber
java.awt
danjava.swing
paket. Memang, mereka berbagi atribut intrinsik yang hampir identik dan atribut ekstrinsik adalah komponen UI yang berbeda yang mereka tata dalam bentuk UI.RMI didasarkan pada Proksi.
Seharusnya dimungkinkan untuk mengutip satu untuk sebagian besar dari 23 pola di GoF:
Saya tidak bisa memikirkan contoh di Jawa selama 10 dari 23, tetapi saya akan melihat apakah saya bisa melakukan yang lebih baik besok. Untuk itulah sunting.
sumber
Pola Pabrik Abstrak digunakan di berbagai tempat. Misalnya,
DatagramSocketImplFactory
,PreferencesFactory
. Ada banyak lagi --- cari Javadoc untuk antarmuka yang memiliki kata "Pabrik" dalam nama mereka.Juga ada beberapa contoh pola Pabrik juga.
sumber
Meskipun saya semacam jam yang rusak dengan ini, Java XML API banyak menggunakan Factory. Maksud saya lihat saja ini:
... dan seterusnya dan seterusnya.
Selain itu berbagai Buffer (StringBuffer, ByteBuffer, StringBuilder) menggunakan Builder.
sumber
java.util.Collection # Iterator adalah contoh yang baik dari Metode Pabrik. Bergantung pada subkelas beton Koleksi yang Anda gunakan, itu akan membuat implementasi Iterator. Karena baik superclass Pabrik (Koleksi) dan Iterator yang dibuat adalah antarmuka, kadang-kadang bingung dengan AbstractFactory. Sebagian besar contoh untuk AbstractFactory dalam jawaban yang diterima (BalusC) adalah contoh Factory , versi yang disederhanakan dari Metode Pabrik, yang bukan bagian dari pola GoF asli. Dalam Facory the hierarki kelas Pabrik runtuh dan pabrik menggunakan cara lain untuk memilih produk yang akan dikembalikan.
Pabrik abstrak memiliki banyak metode pabrik, masing-masing menciptakan produk yang berbeda. Produk yang dihasilkan oleh satu pabrik dimaksudkan untuk digunakan bersama (printer dan kartrid Anda sebaiknya dari pabrik yang sama (abstrak)). Seperti disebutkan dalam jawaban di atas keluarga komponen AWT GUI, berbeda dari platform ke platform, adalah contohnya (walaupun implementasinya berbeda dari struktur yang dijelaskan dalam Gof).
sumber