在流程审批之中每个角色有很多的职责限制和上下级关系,比如一个请假制度,就会涉及到组长,项目经理,总经理签字的流程,当然了,你要是开小差溜出去一会不被逮着也是没关系的
下面我们说一场景:A要请假,人事问你请几天:1天,组长批准就行,2天项目经理,3以上总经理批
我们就来分析:
首先审批的人有共性:检查是否在职权之内和呈递上级两个动作
protocol Teamer{
func checkDay( day: Int)
func doIt()
}
然后就是具体的Leader类
class Leader: Teamer {
privatevar leader:Teamer?
privatevar day:Int?
privatevar dayLimit:Int?
init( leader:Teamer?){
self.leader = leader;
}
func checkDay( day: Int)
}
func doIt(){
}
这个类需要完成检测工功能和提交上级的动作。
那么我们怎么去确定哪个是终极Boss,嘿嘿,终极Boss是没有Leader的。思路有了我么就完善审批和呈交上级的code
func checkDay( day:Int){
self.day = day
iflet aLeader = self.leader{
let aDy = self.day
let aLimit = self.dayLimit
if aLimit <= aDy{
println(" 职责审批限制\(self.dayLimit!) 呈交上级审批\(self.day!)")
aLeader.checkDay(self.day!)
}else{
doIt()
}
}else{
doIt()
}
}
func doIt(){
println("审批:\(self.day!)")
}
}
好了,实例出来了,我们就开始测试是否通过
var leader1 = Leader( leader: nil)
var leader2 = Leader(leader: leader1)
var leader3 = Leader(leader: leader2)
var leader4 = Leader(leader: leader3)
leader4.dayLimit = 1
leader3.dayLimit = 3
leader2.dayLimit = 5
leader4.checkDay(2)
leader4.checkDay(4)
leader4.checkDay(6)
相关推荐
基于AO的ArcGIS二次开发——AO程序设计入门,
AO2011使用说明
绿色风格的ao后台,静态页面模型,希望对你有帮助!
AO3415中文资料AO3415中文资料
vray AO渲染脚本 超级好用,如果你在使用渲染的时候,石膏线模糊,层次不够清晰 就使用他吧
用VC+AO开发独立的应用程序,初级教程,适合初学者
AO3416中文资料AO3416中文资料
AO3400驱动RGB三色LED调光接口板ALTIUM设计硬件原理图+PCB文件,2层板设计,大小为295x20mm,Altium Designer 设计的工程文件,包括完整的原理图及PCB文件,可以用Altium(AD)软件打开或修改,可作为你的产品设计的...
在Visio studio中加载地图功能,并实现框选放大功能
AO系统中所有菜单 都包括在上面了哈 AO系统中所有菜单 都包括在上面了哈AO系统中所有菜单 都包括在上面了哈AO系统中所有菜单 都包括在上面了哈AO系统中所有菜单 都包括在上面了哈AO系统中所有菜单 都包括在上面了哈
TQ210开发文档,里面详细记载了AO4459的原来和驱动开发的关系
使用AO开发的实时坐标显示,参照ArcGIS开发宝典--从入门到精通
c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO开发代码c#+AO...
15万吨天城市生活污水处理厂-AO工艺毕业设计毕业设计说明书
Harbin-AO工艺流程_环保水利_污水处理工业设计CAD图.dwg
烘焙AO
AO插件
AO开发入门--AO二次开发入门好教程,真的特别号哦
AO资料AO资料AO资料
此工具针对用户忘记AO2011密码情况使用。