注:該部分參考《大話設計模式》:簡歷模式--原型模式。
當查理感覺旺卡太累了的時候,就會招人幫忙,那麼招人的時候,需要的就是簡歷,那麼大部分的求職者的簡歷都是千篇一律的,比如巧克力糖果、巧克力棒、巧克力飲料,有三個職位,可是大部分求職者的簡歷居然三個職位的簡歷是一樣的,這樣成功機率太小了。
那麼查理在找某個崗位的時候,當然是從最符合該崗位的簡歷中篩選。如果你的簡歷是一樣的,但是你的經歷可以超過每個崗位的需求,那麼你也不需要來這裡找工作了。那麼大多數人簡歷一樣的情況下,大多數會被認為都不能勝任。由此可見如果不同的崗位,簡歷內容相同,那麼這就是自己拉低自己的成功機率。
那麼就需要對於不同的崗位,撰寫不同的簡歷。而大家都知道,不同職位的簡歷其差異點在於不同的工作經驗,那麼其他部分是可以直接貼上的。那麼就可以用到這次的設計模式---原型模式。
原型模式:就是從乙個物件建立另外的可定製物件,不用知道任何細節,之後通過介面修改指定的內容即可。延伸到**中就是拷貝,從乙個物件拷貝出另外乙個物件,之後提供介面修改特定的資料。
拷貝分為淺拷貝和深拷貝:淺拷貝就是別名,深拷貝就是新值。
將查理比作乙個物件,兒子、查理、老闆就是它的別名,就可以稱為查理的淺拷貝。
查理的父母生了乙個和查理一模一樣的孩子,就是新的『查理』,就是深拷貝。(見下圖)
注:1.類的預設拷貝函式是淺拷貝。如果需要實現深拷貝,需要過載拷貝函式,在其中對應用型別的值進行複製拷貝,開闢新的記憶體進行儲存,如類物件、指標物件等等。
也可用修改值進行檢測。改變乙個物件的值,拷貝物件的值改變就是淺拷貝、不改變就是深拷貝。
在存在拷貝的類中,一定要處理好深拷貝和淺拷貝。因為不容易發現錯誤的地方。
這就是原型模式。以乙個標準物件作為原型,之後建構函式不需要從0開始,只需要拷貝原型物件,再通過介面修改特定的值即可。
設計模式 原型模式(C ) 簡歷影印
原型模式就是讓物件擁有自我拷貝的功能,方便備份物件資料或者建立物件時設定過多的引數。include include using namespace std class prototype class resume public prototype virtual void setpersonalin...
《大話設計模式》 簡歷影印 原型模式 9
p 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。原形模式其實就是從乙個物件再建立另外乙個可定製的物件,而且不需要知道任何建立的細節。在.net中,抽象類prototype是用不著的,在system命名空間中提供了icloneable介面,其中就是唯一乙個方法是clone 只要實現...
建立型模式 原型模式
使用原型例項指定建立物件的種類,並且通過轉殖這些原型建立新的物件 原理是將乙個原型物件傳給要發動建立的物件,該物件通過請求原型物件轉殖自己來建立過程 轉殖方法 public prototype clone jdk中為我們提供了轉殖的方法clone 從object繼承下來,乙個物件要實現轉殖,需要實現...