Saya telah membaca sedikit tentang model aktor, tetapi tidak benar-benar mengerti bagaimana menggunakan aktor dalam situasi dunia nyata - bagaimana membuat model masalah dengan mereka.
Bisakah seseorang tolong jelaskan? Contoh sederhana atau tautan ke contoh akan sangat dihargai.
Jawaban:
Aktor, dalam arti aksi pemodelan, dengan pesan, dll adalah cara pemodelan perangkat lunak yang menyediakan beberapa item berguna ...
Aktor dapat hidup di utas tunggal, memungkinkan operasi non-utas / non-konkurensi terjadi tanpa sekelompok sihir penguncian. Seorang aktor akan merespons pesan di kotak masuknya. Ketika Anda ingin memproses perintah, Anda mengirimnya pesan dan itu akan menangani mereka dalam urutan yang diterima. Sama seperti antrian normal. Thread aman adalah pembunuh di sini, dan saya menggunakan ini di sejumlah proyek open source tempat saya bekerja.
Dalam beberapa bahasa, Scala misalnya, mudah untuk mengubah kode berbasis aktor dalam satu proses menjadi sistem terdistribusi dengan memecah aktor dan mengubah saluran yang mereka komunikasikan menjadi saluran jarak jauh. Ini mengubah antara implementasi tentang betapa mudahnya, tetapi ini adalah fitur yang luar biasa.
Membantu fokus pada acara Berbasis Tugas daripada acara CRUD. CRUD sederhana tetapi itu seperti berinteraksi dengan lemari arsip. Jika kita dapat memberikan nilai lebih dari itu dalam perangkat lunak yang kita hasilkan, mengapa kita melakukannya? Mengikat beberapa tindakan ke satu perintah "Pembaruan" dalam sistem berbasis tugas lebih berguna daripada hanya menyimpan ke DB. Ini juga masuk ke hal-hal seperti CQRS.
sumber
Jawaban Travis solid. Ketika Anda mulai berbicara tentang konkurensi, Anda mencoba menyelesaikan masalah sumber daya. Konkurensi dengan utas dan kunci cukup mudah dilakukan salah. Model aktor membantu memaksa Anda memprogram bagian-bagian konkuren kode Anda sebagai nugget lengkap yang dapat dilakukan secara paralel dan tanpa tergantung pada bagian kode lainnya. Anda mencoba menghindari nastiness seperti kondisi balapan dan kebuntuan.
Aktor seperti Anda dan saya dalam percakapan ini. Anda tidak bisa menjangkau otak saya dan memilih apa yang saya ketikkan. Anda memberikan saya pesan yang mengatakan, "Mengapa kita ada?" Saya duduk dan menghitung beberapa angka dan mengirim balasan, "Saya rasa, oleh karena itu saya." Anda tidak bisa mengatakan apa yang saya lakukan pada potongan planet Bumi saya sendiri. Satu-satunya kontak yang Anda miliki dengan saya adalah melalui pesan yang kami bolak-balik.
EDIT:
Anda tidak mengatakan bahasa apa yang membuat Anda nyaman, tetapi melihat apakah ada implementasi aktor dalam bahasa Anda. Mungkin yang paling sederhana adalah beberapa lib aktor dengan python. Tapi mungkin yang lebih baik untuk belajar adalah Erlang. Bahasanya sedikit kasar tetapi setelah Anda mengatasi nuansa, itu adalah bahasa yang baik.
sumber
Aktor adalah elemen diagram use case yang mewakili entitas eksternal (pengguna, sistem eksternal, dll.) Yang dapat bertindak pada suatu sistem. Setiap kasus penggunaan dasar akan berisi aktor - cukup google "kasus penggunaan" untuk banyak contoh.
sumber