Swift 08 备忘录模式 Memento Pattern
来源:互联网 发布:苹果铃声mac 编辑:程序博客网 时间:2024/06/06 18:32
/*纪录大宏药业机器的操作日志。药物:Aspirin、Paracetamol工作:Wrap、Ship操作员也返回看各个工作的纪录。*/// 原发器class Mechanic {var p_mOperaNumber : Int = 0var p_stMedicineName : String = ""var p_stEquipOperation : String = ""func setOperaNumber(p_mInputOperaNum : Int) {p_mOperaNumber = p_mInputOperaNum}func getOperaNumber() -> Int {return p_mOperaNumber}func setMedicineName(p_stInputMediName : String) {p_stMedicineName = p_stInputMediName}func getMedicineName() -> String {return p_stMedicineName}func setEquipOperation(p_stInputEquipOper : String) {p_stEquipOperation = p_stInputEquipOper}func getEquipOperation() -> String {return p_stEquipOperation}func saveEquipMemento() -> EquipMemento {return EquipMemento(p_mInputOperaNum : p_mOperaNumber, p_stInputMediName : p_stMedicineName, p_stInputEquipOper : p_stEquipOperation)}func getEquipMemento(p_obEquipMemento : EquipMemento) -> EquipMemento {return p_obEquipMemento}}// 备忘录 多个备忘录物件 储存在阵列 提取阵列就可以有备忘录功能class EquipMemento {var p_mOperaNumber : Int = 0var p_stMedicineName : String = ""var p_stEquipOperation : String = ""init(p_mInputOperaNum : Int, p_stInputMediName : String, p_stInputEquipOper : String) {p_mOperaNumber = p_mInputOperaNump_stMedicineName = p_stInputMediNamep_stEquipOperation = p_stInputEquipOper}func setOperaNumber(p_mInputOperaNum : Int) {p_mOperaNumber = p_mInputOperaNum}func getOperaNumber() -> Int {return p_mOperaNumber}func setMedicineName(p_stInputMediName : String) {p_stMedicineName = p_stInputMediName}func getMedicineName() -> String {return p_stMedicineName}func setEquipOperation(p_stInputEquipOper : String) {p_stEquipOperation = p_stInputEquipOper}func getEquipOperation() -> String {return p_stEquipOperation}}// 负责人class OperationTaken {var p_arrEquipMemento : [EquipMemento] = []func addMemento (p_obMementoItem : EquipMemento) {p_arrEquipMemento.append(p_obMementoItem)}func getMemento(p_mInputOperaNum : Int) -> EquipMemento {return p_arrEquipMemento[p_mInputOperaNum]}}// 客戶端var mechanic = Mechanic()var operationTaken = OperationTaken()mechanic.setOperaNumber(p_mInputOperaNum : 1)mechanic.setMedicineName(p_stInputMediName : "Aspirin")mechanic.setEquipOperation(p_stInputEquipOper : "Wrap Product")operationTaken.addMemento(p_obMementoItem : mechanic.saveEquipMemento())mechanic.setOperaNumber(p_mInputOperaNum : 2)mechanic.setMedicineName(p_stInputMediName : "Paracetamol")mechanic.setEquipOperation(p_stInputEquipOper : "Ship Product")operationTaken.addMemento(p_obMementoItem : mechanic.saveEquipMemento())print("Current Memento: Number:\(mechanic.getOperaNumber()) Name: \(mechanic.getMedicineName()) Operation: \(mechanic.getEquipOperation())")var previousMemento = operationTaken.getMemento(p_mInputOperaNum : 0)print("Previous Memento: Number:\(previousMemento.getOperaNumber()) Name: \(previousMemento.getMedicineName()) Operation: \(previousMemento.getEquipOperation())")/*Current Memento: Number:2 Name: Paracetamol Operation: Ship ProductPrevious Memento: Number:1 Name: Aspirin Operation: Wrap Product*/
0 0
- Swift 08 备忘录模式 Memento Pattern
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 备忘录模式 Memento Pattern
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 备忘录模式-Memento Pattern
- 备忘录模式-Memento Pattern
- 备忘录模式 | Memento Pattern
- Memento Pattern(备忘录模式)
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- Java Memento Pattern(备忘录模式)
- 设计模式23:Memento Pattern (备忘录模式)
- hibernate注解方法使用总结
- Caffe 工程的一些编译错误以及解决方案(undefined reference to cv::imread)
- 求数值的的整数次方(模拟实现pow函数)
- codeforces-772C-Destroying Array
- FIFO深度计算分析
- Swift 08 备忘录模式 Memento Pattern
- byte(字节)根据长度转成KB(千字节)和MB(兆字节)
- 如何查询没有自增非空数字主键的表?
- 选择排序
- Swift 09 适配器模式 Adapter pattern
- 深度学习一
- HDU 1059 Dividing 多重背包 .
- kmp算法(字符串匹配)
- asynchttpclient的post方法发送json格式参数和表单格式参数