Bagikan melalui


Desain Lapangan

Catatan

Konten ini dicetak ulang oleh izin Pearson Education, Inc. dari Panduan Desain Kerangka Kerja: Konvensi, Idiom, dan Pola untuk Pustaka .NET yang Dapat Digunakan Kembali, Edisi ke-2. Edisi itu diterbitkan pada tahun 2008, dan buku tersebut telah sepenuhnya direvisi pada edisi ketiga. Beberapa informasi di halaman ini mungkin sudah kedaluarsa.

Prinsip enkapsulasi adalah salah satu gagasan terpenting dalam desain berorientasi objek. Prinsip ini menyatakan bahwa data yang disimpan di dalam suatu objek harus dapat diakses hanya untuk objek tersebut.

Cara yang berguna untuk menafsirkan prinsip ini adalah dengan mengatakan bahwa jenis harus dirancang sehingga perubahan pada bidang jenis itu (perubahan nama atau jenis) dapat dilakukan tanpa melanggar kode selain untuk anggota jenis. Interpretasi ini segera menyiratkan bahwa semua bidang harus bersifat privat.

Kami mengecualikan bidang baca-saja yang konstan dan statik dari pembatasan ketat ini, karena bidang tersebut, hampir selalu, tidak pernah perlu berubah.

❌ JANGAN menyediakan bidang instans yang bersifat publik atau terlindungi.

Anda harus menyediakan properti untuk mengakses bidang alih-alih membuatnya publik atau dilindungi.

✔️ GUNAKAN bidang konstan untuk konstanta yang tidak akan pernah berubah.

Pengompilasi membakar nilai bidang konstanta langsung ke kode panggilan. Oleh karena itu, nilai konstanta tidak akan pernah dapat diubah tanpa risiko melanggar kompatibilitas.

✔️ GUNAKAN bidang readonly statik publik untuk instans objek yang telah ditentukan sebelumnya.

Jika ada contoh yang telah ditentukan dari jenis tersebut, nyatakan sebagai bidang statik baca-saja publik dari jenis itu sendiri.

❌ JANGAN menetapkan instans jenis yang dapat diubah ke bidang readonly.

Jenis yang dapat diubah adalah jenis dengan instans yang dapat dimodifikasi setelah dibuat. Misalnya, array, sebagian besar koleksi, dan aliran adalah jenis yang dapat diubah, tetapi System.Int32, System.Uri, dan System.String semuanya tidak dapat diubah. Pengubah baca-saja pada bidang jenis referensi mencegah instans yang disimpan di bidang diganti, tetapi tidak mencegah data instans bidang dimodifikasi dengan memanggil anggota yang mengubah instans.

Portions © 2005, 2009 Microsoft Corporation. Semua hak dilindungi undang-undang.

Dicetak ulang dengan izin dari Pearson Education, Inc. dari Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition oleh Krzysztof Cwalina dan Brad Abrams, diterbitkan 22 Okt 2008 oleh Addison-Wesley Professional sebagai bagian dari Seri Pengembangan Microsoft Windows.

Lihat juga