抽象工廠模式(abstract factory pattern)是圍繞乙個超級工廠建立其他工廠。該超級工廠又稱為其他工廠的工廠。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。
主要解決:主要解決介面選擇的問題。
何時使用:系統的產品有多於乙個的產品族,而系統只消費其中某一族的產品。
如何解決:在乙個產品族裡面,定義多個產品。
優點:當乙個產品族中的多個物件被設計成一起工作時,它能保證客戶端始終只使用同乙個產品族中的物件。
缺點:產品族擴充套件非常困難,要增加乙個系列的某一產品,既要在抽象的creator裡加**,又要在具體的裡面加**。
在不同的資料庫中新增使用者,如mysql和oracle
第一步:建立乙個用使用者介面,增加對應的操作方法
package com.oysept.abstractfactory;
public inte***ce iuser
第二步:建立乙個在mysql中新增使用者工具類
package com.oysept.abstractfactory;
public class mysqluser implements iuser
}
第三步:建立乙個在oracle中新增使用者工具類
package com.oysept.abstractfactory;
public class oracleuser implements iuser
}
第四步:建立乙個抽象工廠類
package com.oysept.abstractfactory;
public abstract class ifactory
第五步:建立乙個mysql操作工廠類
package com.oysept.abstractfactory;
public class mysqlfactory extends ifactory
}
第六步:建立乙個oracle操作工廠類
package com.oysept.abstractfactory;
public class oraclefactory extends ifactory
}
第七步:增加乙個工廠製造者,傳入相應的型別,就獲取對應的工廠
package com.oysept.abstractfactory;
public class factoryproducer else if ("oracle".equalsignorecase(datatype)) else }}
第八步:測試
《Hive權威指南》第九章 模式設計
9.9 幾乎 總是使用壓縮 hive看上去與實際操作都像乙個關係型資料庫,但是事實上hive是反模式。對於資料集增長很快的情況,可以使用這種方式,在表名中加入乙個時間戳,例如upply 2020 05 20 upply 2020 05 21等。當然對於hive,這種情況應該使用分割槽表。hive通過...
第九章(筆記)
轉移指令是可以修改ip,或同時修改cs和ip的指令 offset 是用於提取標號偏移位址的操作符 jmp在第2章裡說到時用於修改ip或同時修改cs和ip的轉移指令,這章裡單獨的jmp指令是乙個無條件的轉移指令 jmp short 標號 是實現段內短轉移 jmp near ptr 標號 是實現段內近轉...
第九章作業
班級 0401304 學號 2013211526 姓名 鄧小俊 2.身份驗證 依據使用者所提供的身份資訊,來進行登入驗證,可以再細分為使用者是否可以登入sql sever 使用者是否可以登入到指定的目標資料庫等。授權 已通過身份驗證的使用者,檢查其所被賦予的許可權,是否可以訪問或者執行目標的物件 3...