JS的命令模式概念与用法分析
这次给大家带来JS的命令模式概念与用法分析,使用JS命令模式概念与用法分析的注意事项有哪些,下面就是实战案例,一起来看一下。
这篇文章主要介绍了JS设计模式之命令模式概念与用法,简单描述了命令模式的原理、功能并结合javascript实例形式分析了命令模式相关定义与使用技巧,需要的朋友可以参考下
本文实例讲述了JS设计模式之命令模式概念与用法。分享给大家供大家参考,具体如下:
客户创建命令;调用者执行该命令;接收者在命令执行时执行相应操作
简单命令对象一般用来消除二个对象(调用者和接收者)之间的耦合,而复杂的命令对象则一般用来封装不可分的或事务性的指令。
命令模式的主要用途是把调用对象(用户界面、API和代理等)与实现操作的对象隔离开。凡是两个对象间互动方式需要有更高的模块化程度时都可以用到这种模式。
命令的意思是用一个简单方法或函数去执行和这个命令相关的实际操作。就如同用遥控器打开电视一样,只按一个按键就可以打开电视,简单、方便。它具体的实现操作我们不用关心。那是有电视器来处理的。电视对遥控器提供了一个接口(信号),遥控器只需要在点击时实现这个接口就可以了。
Command:定义命令的接口,声明执行的方法。
ConcreteCommand:命令接口实现对象,是“虚”的实现;通常会持有接收者,并调用接收者的功能来完成命令要执行的操作。
Receiver:接收者,真正执行命令的对象。任何类都可能成为一个接收者,只要它能够实现命令要求实现的相应功能。
Invoker:要求命令对象执行请求,通常会持有命令对象,可以持有很多的命令对象。这个是客户端真正触发命令并要求命令执行相应操作的地方,也就是说相当于使用命令对象的入口。
Client:创建具体的命令对象,并且设置命令对象的接收者。注意这个不是我们常规意义上的客户端,而是在组装命令对象和接收者,或许,把这个Client称为装配者会更好理解,因为真正使用命令的客户端是从Invoker来触发执行
模式分析
1.命令模式的本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开。
2.每一个命令都是一个操作:请求的一方发出请求,要求执行一个操作;接收的一方收到请求,并执行操作。
3.命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否被执行、何时被执行,以及是怎么被执行的。
4.命令模式使请求本身成为一个对象,这个对象和其他对象一样可以被存储和传递。
5.命令模式的关键在于引入了抽象命令接口,且发送者针对抽象命令接口编程,只有实现了抽象命令接口的具体命令才能与接收者相关联。
模式优点
1.降低对象之间的耦合度。
2.新的命令可以很容易地加入到系统中。
3.可以比较容易地设计一个组合命令。
4.调用同一方法实现不同的功能
// 命令 var CreateCommand = function( receiver ){ this.receiver = receiver; } CreateCommand.prototype.execute = function() { this.receiver.action(); } // 接收者 电视 var TVOn = function() {} TVOn.prototype.action = function() { alert("TVOn"); } // 接收者 电视 var TVOff = function() {} TVOff.prototype.action = function() { alert("TVOff"); } // 调用者 遥控器 var Invoker = function( tvOnCommand, tvOffCommand ) { this.tvOnCommand = tvOnCommand; this.tvOffCommand = tvOffCommand; } Invoker.prototype.tvOn = function() { this.tvOnCommand.execute(); } Invoker.prototype.tvOff = function() { this.tvOffCommand.execute(); }
执行Client
var tvOnCommand = new CreateCommand( new TVOn() ); var tvOffCommand = new CreateCommand( new TVOff() ); var invoker = new Invoker( tvOnCommand, tvOffCommand ); invoker.tvOn(); invoker.tvOff();
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Atas ialah kandungan terperinci JS的命令模式概念与用法分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Klasifikasi dan Analisis Penggunaan Komen JSP Komen JSP terbahagi kepada dua jenis: komen satu baris: berakhir dengan, hanya satu baris kod boleh diulas. Komen berbilang baris: bermula dengan /* dan berakhir dengan */, anda boleh mengulas berbilang baris kod. Contoh ulasan satu baris Contoh ulasan berbilang baris/**Ini ialah ulasan berbilang baris*Boleh mengulas pada berbilang baris kod*/Penggunaan ulasan JSP Komen JSP boleh digunakan untuk mengulas kod JSP agar lebih mudah dibaca

WPS ialah suite perisian pejabat yang biasa digunakan, dan fungsi jadual WPS digunakan secara meluas untuk pemprosesan dan pengiraan data. Dalam jadual WPS, terdapat fungsi yang sangat berguna, fungsi DATEDIF, yang digunakan untuk mengira perbezaan masa antara dua tarikh. Fungsi DATEDIF ialah singkatan daripada perkataan Inggeris DateDifference Sintaksnya adalah seperti berikut: DATEDIF(start_date,end_date,unit) dengan start_date mewakili tarikh mula.

Cara menggunakan fungsi keluar dalam bahasa C memerlukan contoh kod khusus Dalam bahasa C, kita selalunya perlu menamatkan pelaksanaan program pada awal program, atau keluar dari program dalam keadaan tertentu. Bahasa C menyediakan fungsi exit() untuk melaksanakan fungsi ini. Artikel ini akan memperkenalkan penggunaan fungsi exit() dan memberikan contoh kod yang sepadan. Fungsi exit() ialah fungsi perpustakaan standard dalam bahasa C dan disertakan dalam fail pengepala. Fungsinya adalah untuk menamatkan pelaksanaan program, dan boleh mengambil integer

Fungsi ISNULL() dalam MySQL ialah fungsi yang digunakan untuk menentukan sama ada ungkapan atau lajur yang ditentukan adalah NULL. Ia mengembalikan nilai Boolean, 1 jika ungkapan itu NULL, 0 sebaliknya. Fungsi ISNULL() boleh digunakan dalam pernyataan SELECT atau untuk pertimbangan bersyarat dalam klausa WHERE. 1. Sintaks asas fungsi ISNULL(): ISNULL(ungkapan) di mana ungkapan ialah ungkapan untuk menentukan sama ada ia NULL atau

Tajuk: Analisis sebab dan penyelesaian mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Dreamweaver CMS (DedeCMS) ialah sistem pengurusan kandungan sumber terbuka yang berkuasa yang digunakan secara meluas dalam pembinaan pelbagai laman web. Walau bagaimanapun, kadangkala semasa proses membina tapak web, anda mungkin menghadapi situasi di mana direktori sekunder tidak boleh dibuka, yang membawa masalah kepada operasi biasa tapak web. Dalam artikel ini, kami akan menganalisis kemungkinan sebab mengapa direktori sekunder tidak boleh dibuka dan memberikan contoh kod khusus untuk menyelesaikan masalah ini. 1. Analisis sebab yang mungkin: Masalah konfigurasi peraturan pseudo-statik: Semasa penggunaan

Penjelasan terperinci tentang penggunaan berbeza dalam SQL Dalam pangkalan data SQL, kita sering menghadapi situasi di mana kita perlu mengalih keluar data pendua. Pada masa ini, kami boleh menggunakan kata kunci yang berbeza, yang boleh membantu kami mengalih keluar data pendua dan menjadikan hasil pertanyaan lebih jelas dan tepat. Penggunaan asas berbeza adalah sangat mudah, hanya gunakan kata kunci yang berbeza dalam pernyataan pilih. Sebagai contoh, berikut ialah penyataan pilih biasa: SELECTcolumn_name

Penggunaan Transform dalam CSS Sifat Transform CSS ialah alat yang sangat berkuasa yang boleh melakukan operasi seperti terjemahan, putaran, penskalaan dan menyengetkan elemen HTML. Ia boleh mengubah penampilan elemen secara mendadak dan menjadikan halaman web lebih kreatif dan dinamik. Dalam artikel ini, kami akan memperkenalkan pelbagai kegunaan Transform secara terperinci dan memberikan contoh kod khusus. 1. Terjemah (Terjemah) Terjemah merujuk kepada menggerakkan elemen pada jarak tertentu di sepanjang paksi-x dan paksi-y. Sintaksnya adalah seperti berikut: tran

Cara menggunakan arahan pintasan Apple Dengan perkembangan teknologi yang berterusan, telefon bimbit telah menjadi bahagian yang amat diperlukan dalam kehidupan manusia. Di antara banyak jenama telefon bimbit, telefon bimbit Apple sentiasa digemari oleh pengguna kerana sistem yang stabil dan fungsi yang berkuasa. Antaranya, fungsi arahan pintasan Apple menjadikan pengalaman telefon mudah alih pengguna lebih mudah dan cekap. Pintasan Apple ialah ciri yang dilancarkan oleh Apple untuk iOS12 dan versi yang lebih baru Ia membantu pengguna memudahkan operasi telefon mudah alih mereka dengan mencipta dan melaksanakan perintah tersuai untuk mencapai kerja yang lebih cekap dan
