餐館那些事之 介面實現分離

2021-08-26 01:27:27 字數 1109 閱讀 7024

1. 概念

gof書中提到,物件導向程式設計第一原則: "program to an inte***ce, not an implementation" ,這是介面實現分離的基本思想。

我的理解: 「在開發過程中,在外部使用者和實現者之間加入一層介面,外部使用者呼叫介面為其服務,實現者針對介面進行實現。「

外部使用者和實現者的概念我們可以大到系統 ,也可以小到函式。本質上是分層的設計理念

通過在不同的層次之間,加入介面,至少可以帶來以下二個好處:

1). 內部實現對外部使用者透明,內部實現的修改,不影響外部使用者的使用,當然,前提是友好的對外介面。

2). 利於開發者之間的並行,在定義好介面之後,各層可以在不互相影響的前提下,並行開發。

2.例子

餐館的廚師老王是個高階廚師,他有一門獨門秘技」紅燒魚「,既然是獨門秘技,那麼他當然不想告訴別人是怎麼做的咯。

我們看下怎麼實現:

對外介面類:fish

實現類:fish_wang

code:

fish.h

#include "fish_wang.h" class fish ;

fish.cpp:

#include "fish.h" using namespace std; fish::fish() fish::~fish(void) } void fish::cook(void)

fish_wang.h

#include class fish_wang ;

fish_wang.cpp

#include "stdafx.h" #include "fish_wang.h" fish_wang::fish_wang(void) fish_wang::~fish_wang(void) void fish_wang::cook() void fish_wang::wang_cook()

測試:#include "fish.h" using namespace std; int _tmain(int argc, _tchar* argv)

3. 總結

上面是乙個簡單的介面實現分離的例子,在實際專案中,特別是在並行開發的時候,這種設計方法大量使用。

餐館那些事之 Mediator Pattern

1.概述 mediator pattern 封裝了 一組物件之間的互動,使得物件之間保持松耦合的關係,避免物件維護複雜的關係互動。簡單的說,mediator封裝的是互動。類圖 object例項之間的互動,統一由mediator維護。2.例項 餐館有cook和waiter,cook之間需要彼此交流配合...

簡訊介面的那些事!

隨著網際網路時代的飛速發展,簡訊介面作為連線企業與使用者的手段,已經被越來越多的企業所接受。但是,對於簡訊介面的原理以及它的主要用途人們並不是很清楚,這裡為大家解讀一下。簡訊介面原理 簡訊介面除了簡訊驗證碼介面,還有sdk介面的功能,我們都知道,sdk簡訊介面有兩個方面的作用,乙個是向開發的系統提供...

前後端分離 關於登入狀態那些事

背景 密碼加密 cookie session token jwt等。我們看一下傳統的做法,前後端統一在乙個服務中 如圖所示,邏輯處理和頁面放在乙個服務中,使用者輸入使用者名稱 密碼後,後台服務在session中設定登入狀態,和使用者的一些基本資訊,然後將響應 response 返回到瀏覽器 brow...