成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用Python設計一個請假模式

開發 后端
由于你沒有用一些設計模式去優化你的代碼,所以導致很多小伙伴只能把自己的代碼重寫。這次我們通過請假條來講講設計模式-"職責模式"

由于你沒有用一些設計模式去優化你的代碼,所以導致很多小伙伴只能把自己的代碼重寫。這次我們通過請假條來講講設計模式-"職責模式"

一、什么是職責模式

比如我們要請假,我們一般都是寫個請假條,然后提交給系統!系統會自動根據你的請假的情況,找對應的主管去審批。請假條處理的流程是一環接一環的,就像一個鏈條一樣,所有處理請假條的人構成了一個職責鏈條。

用Python設計一個請假模式

職責模式:

  • 職責模式的精妙之處在于把請求者和接受者解耦了,就是做了分層處理!請求者不知道是誰處理請假條,不需要知道具體的業務邏輯和處理請假條的鏈上有多少人,它只管提交,這樣的話系統的靈活性和擴展性就非常好,不信我們看實戰案例。

二、實戰案例

老板讓程序員小李去設計一個請假系統,應該怎么設計呢,小李想了想就用上面的職責模式吧,二話不說先畫一個UML圖,把業務邏輯關系設計出來。

用Python設計一個請假模式

1).設計請假人類

我們把請假人抽象為一個對象,里面屬性肯定是要有名字,請多少天,請假理由等等.所以Person接口的時候我們留了三個參數(name,dayoff,reason)。

用Python設計一個請假模式

這個類里面最關鍵的是setLeader()和request()函數:

  • setLeader的目的設置請假的提交給主管,但是具體是哪一級別的主管你不用管。
  • request的目的是把請假條扔出去,至于這個請假條哪一個級別的主管來批你也不用管,因為用handleRequest()這個函數來處理。

2).設計主管類

主管的角色有很多種,比如小組長,部門經理,部門總監,公司老總,HR, 行政總監等等。我們把這些人都抽象提取為一個基類叫主管類。

用Python設計一個請假模式

這個Manager類是基類,主要是處理get和set NextHandler.就是請假條在一個鏈條上,需要有一個一層一層提交的關系,比如組長的下一層nextHandler是部門經理,部門經理的下一層處理是公司老板。

3).具體的幾個角色類

比如我們設計這個請假系統里面有TeamLeader,DeptMaanger,Director等等。

每個的權利不一樣,比如:

  • 請假2天內的又TeamLeader審批
  • 請假2-10天有部門經理申請
  • 請假10-22天的有研發總監申請

我們舉一個例子,比如小組長這個類。它主要是重寫了handlerRequest這個類。(大家注意看Pycharm左邊有一個藍色的小圓圈,表示重寫了父類的函數)

用Python設計一個請假模式

DeptMaanger也是類似的,主要在與審批的天數不一樣。

用Python設計一個請假模式

HR的類主要是處理登記備案:

用Python設計一個請假模式

三、測試一下模型

經過了上面的類的重重設計,我們的模型應該可以運行了。我們用幾個請假條來測一下看看:

用Python設計一個請假模式

>>

Leo 申請請假2天,請假理由:參加谷歌大會

同意Leo,請假。簽字人:Eric,(小組長)

請假申請已經審核,情況屬實!已備案處理.處理人Tina:行政總監

--------------------------------------------------

Susan 申請請假10天,請假理由:去歐洲旅游,還要去日本泡溫泉

同意Susan,請假。簽字人:Leo,(研發經理)

請假申請已經審核,情況屬實!已備案處理.處理人Tina:行政總監

--------------------------------------------------

Lili 申請請假22天,請假理由:生病休息

同意Lili,請假。簽字人:老王,(公司老板)

請假申請已經審核,情況屬實!已備案處理.處理人Tina:行政總監

責任編輯:未麗燕 來源: 安卓巴士
相關推薦

2024-04-16 00:07:36

設計模式代理模式替身

2009-06-23 16:42:50

用J2EE做網站

2010-08-11 09:15:07

設計模式Python

2022-12-22 08:22:17

Python圖像圖像處理

2016-03-01 14:37:47

華為

2018-10-31 10:11:24

Python編程語言語音播放

2024-04-03 15:20:08

2022-03-24 14:42:19

Python編程語言

2018-04-27 16:00:15

Windows上帝模式

2018-03-19 17:40:10

Python區塊鏈

2021-05-14 10:45:21

PythonNoSQL數據庫

2017-05-18 12:16:03

LinuxPythonNoSql

2017-06-08 15:53:38

PythonWeb框架

2021-12-01 07:02:55

Python 記錄器按鍵

2020-07-20 10:00:52

Python翻譯工具命令行

2022-03-24 07:57:58

Python水果忍者游戲

2021-11-30 08:26:59

C++設計模式

2018-09-18 09:38:11

RPC遠程調用網絡通信

2020-03-26 09:36:06

AB Test平臺的流量

2020-05-08 13:28:53

新擬物UI設計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片视频观看 | 亚洲精品成人av久久 | 亚洲精品国产偷自在线观看 | 日韩精品一区二区三区视频播放 | 精品欧美乱码久久久久久 | 欧美夜夜 | 久久久久久久国产精品影院 | 超碰在线久 | www亚洲成人| 色综合天天综合网国产成人网 | 亚洲精品一区二区三区蜜桃久 | 精品一区av | 国产一二三区在线 | 在线欧美亚洲 | 久久青 | 精品久 | 亚洲欧美在线免费观看 | 自拍偷拍中文字幕 | 国产三区四区 | 羞羞视频在线网站观看 | 国产精品一区久久久久 | 精品一区在线免费观看 | 97国产一区二区 | 欧美一页 | 精品99在线 | 久久在线视频 | 中文字幕的av | 国产人免费人成免费视频 | 国产成人久久精品一区二区三区 | 欧美三区视频 | 久久久高清| 欧美色性 | 美女福利视频网站 | 国产日韩精品一区二区 | 欧美成人免费在线 | 女同久久 | 久久精品免费 | 中文字幕视频在线观看免费 | 国产精品一区在线观看 | 国产在线精品一区二区 | 国产一区二 |