策略模式:
場景:又稱警察模式,假設(shè)小明開快車,遇到警察,可能是好警察,只是口頭警告一下,就讓小明走了,也可能是強硬的警察,給小明開了罰單。但小明是不知道到底會遇到哪種警察,要到RUNTIME的時候才知道。
不好的封裝:將好警察的處罰行為封裝為一個類A,將強硬警察的處罰行為封裝為另一個類B,將判斷如何處罰封裝成一個類C,在這個類中判斷類的類型,如果是A類,則執(zhí)行A方法,如果是B類,則執(zhí)行B方法。
良好的封裝:將警察的處罰行為統(tǒng)一為一個接口I-A的一個方法,類C的執(zhí)行方法只傳入接口I-A。