|
发表于 2011-5-23 08:28:39
|
显示全部楼层
使用框架的缺点,你会需要张类图,搞明白各个类的功能和使用方法,学习成本。
优点是框架可以让各个不同的人的机器人通过接口方式连接起来,只需要简单修改几行代码。代码维护,修改成本下降,可靠性提高。
比如 A 君 写了个学习模块 B 君写了任务模块。当 C 君觉得有必要两个模块衔接起来一起工作时候,实例化学习模块接口,调用 任务模块,然后任务模块实现接口,任务结束时候调用学习模块。
我用lua 写个例子
A 类
A={
new=function()
local a={}
setmetatable(a,{__index=A})
return a
end,
--A 类属性
myname="world",
}
--A类的方法
function A:hello()
print("hello ",self.myname)
--执行接口
self:finish()
end
--A类的接口
function A:finish()
--默认空值
end
--B类声明
B={
new=function()
local b={}
setmetatable(b,{__index=B})
return b
end,
--B 类属性
place="here",
}
--A类的方法
function B:look()
print("look ",self.place)
--执行接口
self:finish()
end
--B类的接口
function B:finish()
--默认空值
end
-- 具体类调用的方法
local _case_A
_case_A=A.new()
_case_A:hello() --会看结果到 hello world
_case_A.myname="bd xkx"
_case_A:hello() --会看到结果 hello bd xkx
--A 衔接 B
_case_A.finish=function()
local _case_B=B.new() --实例化
_case_B:look()
end
_case_A.myname="bd xkx"
_case_A:hello() --会看到结果 hello bd xkx 然后接下去会看到 look here
[ 本帖最后由 ptouch 于 2011-5-23 09:58 AM 编辑 ] |
|