介面和口罩
介面和口罩的相同之處何在?
1,首先,都有乙個「口」字。而且這個口都有承擔著傳遞資訊的作用。
2,都能阻斷一些流行疾病的傳播。
3,都會帶來一些不便。
2023年春天爆發的非典讓大家最大限度的熟悉了口罩,使用了口罩,口罩也給我們帶來了一定的安全保障
。相應的在軟體業,這個時時刻刻爆發著各種流行病毒(此病毒非電腦病毒)的產業中,大家對軟體的口罩
--介面也越來越重視啦。我經過前些時間的學習和實踐,有些心得,與大家分享,請大家指正。
在物件導向的軟體開發中,軟體是有乙個個物件組成的。就好像是所有的人類構成了這個社會。既然是社
會,人和人之間就不能不發生關係,這些發生關係的人大體可以分為三類,需要深入了解,親密接觸並且
關係較穩定的人,例如戀人;只需要一般了解,需要時可以互相幫助的人,例如朋友;對你來說可有可無
無關緊要的人,例如陌生人。
而在病毒肆虐的非典時期,怎樣才能使自己最大限度的倖免遇難呢?不外乎以下幾條原則。
口罩使用原則:
1,儘量減少和別人接觸,因為任何人都有可能變成傳染源。這就要杜絕和的陌生人的接觸。減少和戀人
,朋友的接觸,當然不和戀人見面是不可能的。朋友之間也不能完全斷絕往來。
2,和朋友接觸時,必須戴上口罩,由於口罩一定程度上可以阻擋病毒的攻擊。而且要儘量減少接觸,可
以簡單接觸解決的事,不要把它搞複雜。
3,和戀人呢?當然和戀人接觸時,如果可以的話,帶著口罩也能起到一定的作用,但是好像很少接吻時
戴著口罩的。「哦,親愛的,你今天戴的什麼牌子的口罩,真不錯,還是水果味的。」「哦,我剛才喝的
果汁的味道也不錯,而且我是戴著口罩喝的!」。由於彼此要深度接觸,所以,交叉傳染一般是難免的,
口罩可能也是徒勞的。也許有時候單身也不是不錯的選擇:)。
4,和已經證實是傳染源或者是疑似的人絕對不能直接接觸,如果有什麼話,最好通過中間人(例如醫生
)轉達,當然和醫生接觸也要戴口罩,他們也是人。
口罩選購指南:
5,必須戴有效的口罩。怎樣才是有效的口罩呢?必須符合兩點:1)不能妨礙正常的交流。2)能阻擋大
部分病毒。假如,漢尼拔(《沉默的羔羊》中的主角)的那個醜陋而又滿是縫隙的口罩,就不能符合第一
個條件。而綁架者用來塞住被綁者嘴的破布也不能算合格的口罩(如果它可以稱為口罩的話),它違反了
第二條。
6,盡量戴漂亮的口罩,至少也應該是看著順眼的。這樣大家才更樂意和戴口罩的你打交道,而不是想讓
你摘掉那個難看的口罩再說話。
已知***:
7,最後,也是最重要的。戴上口罩後,別人不再認的出你是誰。平時只喜歡和美女打交道男孩,偶爾也
會去和恐龍搭訕。當然戴上口罩後他也不知道她就是恐龍。也許可以因此成就想象之外的姻緣。
暫時只有這些,大家也許還有更好的建議。告訴我。
這些人類抵禦非典時的原則,在於我們的軟體中也同樣有效。
軟體業中時時刻刻都在爆發著一場一場的大大小小的瘟疫,流行疾病。小的如,在」複製貼上**「廣泛
」重用「的**這樣的小bug,已經有了一些預防和解決的辦法(1),雖然這些辦法我們還沒有徹底的用
起來。大的如需求變更這樣的」非典「量級的疾病,卻還沒有能完全避免的疫苗,不過一些預防措施還是
有的,其中現在比較流行並有效的一種就是以上的「口罩原則」。也就是合理使用介面。依次歷數如下:
說明:下文中,「非典」指代需求變更;「戀人」指代有相互之間依賴性較強,其中一方改變另一方必須
隨之改變的物件;「朋友」是指相互只用到已知的,有限的和穩定的幾個功能的物件;「陌生人」是指相
互之間沒有邏輯相關性的物件;「傳染源」和「疑似」是指已知的變化比較頻繁的物件,或者在將來很可
能變化的物件;「口罩」自然是介面啦。
介面使用原則:
1,「不要和陌生人說話」這條古訓,不用我再強調了,大家都應該知道並遵守的。如此,「陌生人」被
查出「非典」後,你就不用擔心自己是否已經被傳染了啦。
2,對於「朋友」盡量使用合適的「口罩」。例如「棋友」之間使用的「口罩」,就應該只能交流和「下
棋」有關的資訊,「口罩」就可以「嚴格」一點,只允許這些資訊通過。這樣即使棋友被「確診」了,我
也不用擔心。當然如果「病毒」「感染」了我們的「口罩」的話,你也就不能倖免啦。也就是除非介面定
義都被修改了,否則不會被需求變更所牽連。如果用dip原則來看的話,介面更應該定義的是你想要得到
的服務,所以除非你想得到另外的服務或對已有的服務已不需要,否則的話,介面不應該被修改。此時,
其實是你先的了「非典」,你傳染了你的「朋友」--為你提供服務的物件。或許認為是同時得了「非典
」。3,如果兩個類互相過多的依賴的話,介面也不能起到作用。這個時候放棄介面,直接持有對方也許是更
好的解決方案。雖然在人類社會中,一對對的戀人令人羨慕,但是依賴如此緊密的物件最好沒有,看來「
單身物件」更加受歡迎。但是絕對不能讓這個數量太大,否則它們會象「三角戀」那樣搞得不可開交。
4,有時,僅僅口罩也是不夠的,還需要乙個「醫生」作為中介。特別是一些確定會變化的地方,這就能
更好的隔離變化。這時,一些設計模式就變的非常有用。而且很多設計模式都是靠這個中介來實現的,例
如adaptor, abstractfoctroy等。「戀人們」好像很難通過中介來接吻,當然《千王之王》中周星馳可以
,但不是每個人都做得到的。如果你本不會得「非典」,卻因為你的「戀人」頻頻傳染你,使你得「非典
」,我想你應該考慮疏遠這個「戀人」,因為你們不合適,你們不是「同命鳥」。
介面設計原則:
5,設計介面時,也必須盡量發揮它得有效性。首先,介面要滿足你的要求,適應你得需求。在此基礎上
,介面中得方法時越少越簡單越好。這樣你暴露給別人得資訊就越少。「暴露狂」在軟體世界同樣不受歡
迎。6,介面命名要盡量的優美。怎麼就優美呢?首先語義清楚,合乎規範(比如工廠類用***creator),還
要用詞簡單,精煉,最好是常用詞,不讓大家看不懂,還要求助金山詞霸。
額外好處:
7,介面在隔離變化的同時,還帶來了靈活性的好處。假如,我要看球賽,我說「給我乙個電視看球賽!
」,別人可以給你黑白電視,彩色電視,液晶電視,高畫質電視等等,給你選。我在竊喜「原來有這麼多種
電視啊,多虧剛才沒說給我一台彩色電視。囈,那邊是什麼?」「是身臨其境三維體驗器,你不但能用它
看球賽,而且會用身臨其境的感覺。」「好,我就要它了。」「對不起,尊敬的先生,您剛才說的是要電
視,那不是電視,所以您不能用它。」「這個死板的傢伙,也許我剛才應該說,「嘿,給我乙個能欣賞球
賽的東西」」我心想。
或者比喻有些牽強,表達的也有些混亂。這也說明我對介面理解的還不夠深刻。
雖然如此,卻希望藉此表達出自己對介面的一些理解,期待大家的指正和討論。
介面和口罩
介面和口罩的相同之處何在?1,首先,都有乙個 口 字。而且這個口都有承擔著傳遞資訊的作用。2,都能阻斷一些流行疾病的傳播。3,都會帶來一些不便。2003年春天爆發的非典讓大家最大限度的熟悉了口罩,使用了口罩,口罩也給我們帶來了一定的安全保障 相應的在軟體業,這個時時刻刻爆發著各種流行病毒 此病毒非電...
Matlab 口罩識別
課題背景 作為數字影象處理和計算機視覺領域的乙個重要組成部分,利用攝像機對影象進行採集,從影象中檢測人臉並進行口罩穿戴的識別的有著非常重要的研究意義和應用價值。面對突如其來的新型肺炎疫情,人們生活秩序被嚴重打亂。跟普通流感不同,此次疫情可以通過人體唾沫傳播,感染他人能力很強。近期,面對疫情,市面上口...
試題 C 分配口罩
本題總分 10 分 問題描述 某市市長獲得了若干批口罩,每一批口罩的數目如下 如果你把以下文 字複製到文字檔案中,請務必檢查複製的內容是否與文件中的一致。在試題目 錄下有乙個檔案 mask.txt,內容與下面的文字相同 9090400 8499400 5926800 8547000 4958200 ...