Go Strategy 策略設計模式

2021-09-24 04:53:39 字數 965 閱讀 5696

package main

import "fmt"

// strategy 模式應用場景,在我們寫的程式中,大多有if else的條件語句基本上都適合

// strategy 模式,但是if else 條件的情況是不變的,則不適合此模式,例如一周7天

// strategy 及其子類為組建提供了一系列可重用的演算法,從而使得型別在執行時方便的根據

// 需要在各個演算法之間進行切換

//一般的做法

/*type api struct

// 這個主題時變化不穩定的,沒有可擴充套件性

//...如果有其他新的在此新增}*/

// ********************下面是用strategy設計模式********************=

// **********====穩定***************

// 定義乙個api介面,新增乙個抽象方法 recognition()

type iapi inte***ce

type api struct

func (a *api) onprogress()

// **********====變化可擴充套件的***************===

// ali 介面

type ali struct

// 實現recognition()抽象方法

func (a *ali) recognition()

// bai 介面

type bai struct

// 實現recognition()抽象方法

func (b *bai) recognition()

func main()

JAVA設計模式(十七)設計模式之策略設計模式

本章講解設計模式中策略設計模式的相關知識 1.概念 在策略模式 strategy pattern 中,乙個類的行為或其演算法可以在執行時更改。這種型別的設計模式屬於行為型模式。在策略模式中,我們建立表示各種策略的物件和乙個行為隨著策略物件改變而改變的 context 物件。策略物件改變 contex...

Android 高階教程 設計模式之二 策略模式

被抓走了,就會叫人來救,但誰去救呢?當然是唐僧叫誰去救,誰就去救啦,呵呵,但一般最後都是悟空救出來的。好,讓我們先來看一下uml例圖 首先抽象了救人的方法,因為每個人救的方法都不同,而唐僧只要叫人救他就行了,他不管你具體怎麼去救,好,我們接下來看 public inte ce person 這是抽象...

Enterprise Library設計模式

在軟體架構和開發中,模式是發生在給定的環境的確定問題的描述,和基於主導力 guiding forces 集合,提出乙個解決方案。解決方案通常是乙個簡單的機制,因為它是二個或我個類 物件 服務 程序 執行緒 元件或節點的組合,這些在一起工作以解決底層架構或開發挑戰。模式是對於開發和架構而言是非常有用的...