Rumah >pembangunan bahagian belakang >C++ >RelayCommand lwn. ICommand Ringkas: Mana yang Terbaik untuk MVVM?
Penjelasan terperinci corak RelayCommand dalam pelaksanaan MVVM yang dipermudahkan
Dalam seni bina MVVM (Model-View-ViewModel), mencipta berbilang arahan boleh menjadi tugas yang membosankan. Masalah ini telah mendorong pelbagai penyelesaian, termasuk pendekatan yang dipermudahkan menggunakan satu kelas ICommand.
Pelaksanaan arahan yang dipermudahkan
Kelas ICommand yang dilaksanakan mengandungi dua kaedah perwakilan: OnExecute (mengembalikan batal) dan OnCanExecute (mengembalikan bool). Dalam pembina, kaedah ini diluluskan sebagai parameter. Kaedah CanExecute dan Execute bagi antara muka ICommand memanggil kaedah perwakilan yang sepadan.
Kelebihan arahan yang dipermudahkan
Teroka alternatif: RelayCommand
Alternatif biasa untuk memudahkan arahan ialah RelayCommand, seperti yang ditunjukkan oleh Karl Shifflet. Ia menggunakan Tindakan
Pelaksanaan RelayCommand
RelayCommand menggunakan Predikat
Kelebihan RelayCommand
Contoh Penggunaan
Perintah ringkas dan RelayCommand boleh digunakan dengan cara yang sama dalam ViewModel:
<code>public class MyViewModel { // 简化命令 public ICommand DoSomethingCommand { get; set; } // RelayCommand public ICommand DoSomethingCommand2 { get; set; } public MyViewModel() { // 简化命令 DoSomethingCommand = new TestCommand(CanDoSomething, DoSomeImportantMethod); // RelayCommand DoSomethingCommand2 = new RelayCommand(CanDoSomething, DoSomeImportantMethod); } // ... }</code>
Kesimpulan
Walaupun RelayCommand menyediakan penyelesaian yang kemas, RelayCommand menawarkan faedah tambahan seperti pemberitahuan perubahan sifat automatik dan sokongan parameter. Kedua-dua kaedah boleh memudahkan pelaksanaan perintah MVVM dengan berkesan, membolehkan pembangun menumpukan pada logik aplikasi dan bukannya kod boilerplate.
Atas ialah kandungan terperinci RelayCommand lwn. ICommand Ringkas: Mana yang Terbaik untuk MVVM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!