<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### 命令模式 從最直觀的角度來看,*命令模式* 就是一個函數對象:一個作為對象的函數。我們可以將 *函數對象* 作為參數傳遞給其他方法或者對象,來執行特定的操作。 在Java 8之前,想要產生單個函數的效果,我們必須明確將方法包含在對象中,而這需要太多的儀式了。而利用Java 8的lambda特性, *命令模式* 的實現將是微不足道的。 ```java // patterns/CommandPattern.java import java.util.*; public class CommandPattern { public static void main(String[] args) { List<Runnable> macro = Arrays.asList( () -> System.out.print("Hello "), () -> System.out.print("World! "), () -> System.out.print("I'm the command pattern!") ); macro.forEach(Runnable::run); } } /* Output: Hello World! I'm the command pattern! */ ``` *命令模式* 的主要特點是允許向一個方法或者對象傳遞一個想要的動作。在上面的例子中,這個對象就是 **macro** ,而 *命令模式* 提供了將一系列需要一起執行的動作集進行排隊的方法。在這里,*命令模式* 允許我們動態的創建新的行為,通常情況下我們需要編寫新的代碼才能完成這個功能,而在上面的例子中,我們可以通過解釋運行一個腳本來完成這個功能(如果需要實現的東西很復雜請參考解釋器模式)。 *《設計模式》* 認為“命令模式是回調的面向對象的替代品”。盡管如此,我認為"back"(回來)這個詞是callback(回調)這一概念的基本要素。也就是說,我認為回調(callback)實際上是返回到回調的創建者所在的位置。另一方面,對于 *命令* 對象,通常只需創建它并將其交給某種方法或對象,而不是自始至終以其他方式聯系命令對象。不管怎樣,這就是我對它的看法。在本章的后面內容中,我將會把一組設計模式放在“回調”的標題下面。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看