Ini tentang memiliki satu peran unik .
Setiap kelas harus dilanjutkan dengan nama peran. Peran sebenarnya adalah (set) kata kerja yang terkait dengan konteks.
Sebagai contoh :
File menyediakan akses file. FileManager mengelola objek File.
Resource menahan data untuk satu sumber daya dari File. ResourceManager memegang dan menyediakan semua Sumber Daya.
Di sini Anda dapat melihat bahwa beberapa kata kerja seperti "kelola" menyiratkan seperangkat kata kerja lainnya. Kata kerja saja lebih baik dianggap sebagai fungsi daripada kelas, sebagian besar waktu. Jika kata kerja menyiratkan terlalu banyak tindakan yang memiliki konteks bersama sendiri, maka itu harus menjadi kelas itu sendiri.
Jadi, idenya adalah hanya untuk memberi Anda ide sederhana tentang apa yang dilakukan kelas dengan mendefinisikan peran unik, yang mungkin merupakan agregat beberapa sub-peran (yang dilakukan oleh objek anggota atau objek lain).
Saya sering membangun kelas Manajer yang memiliki beberapa kelas lain di dalamnya. Seperti Pabrik, Register, dll. Lihatlah kelas Manajer seperti semacam ketua kelompok, ketua orkestra yang membimbing orang lain untuk bekerja sama untuk mencapai gagasan tingkat tinggi. Dia memiliki satu peran, tetapi menyiratkan bekerja dengan peran unik lainnya di dalam. Anda juga dapat melihatnya seperti bagaimana sebuah perusahaan diorganisasikan: seorang CEO bukan yang produktif pada tingkat produktivitas murni, tetapi jika dia tidak ada di sana, maka tidak ada yang dapat bekerja dengan benar bersama. Itu perannya.
Saat Anda mendesain, kenali peran unik. Dan untuk setiap peran, lihat lagi apakah itu tidak dapat dipotong di beberapa peran lainnya. Dengan begitu, jika Anda perlu mengubah cara Manajer Anda membangun objek, simak saja Pabrik dan pergi dengan tenang.