为了账号安全,请及时绑定邮箱和手机立即绑定

除了构造函数不同,其他实例方法基本能公用的两个类,该怎么设计?

除了构造函数不同,其他实例方法基本能公用的两个类,该怎么设计?

lisa2moon 2016-08-02 11:06:13
代码在  github  上,请教大家了!**********************************************************************************gitty不能全部满足我们的需求gitty是git的管理模块,有好多功能可以借用。 而我们的 chihuahua 脚本在gitlab/gerrit等git管理服务器上运行,这这些设备上,每个仓库只存放了 XXX.git 目录,因此是不包含work directory的。 gitty 模块里面的 'lib/repository' 其中定义的 Repository 类,它的构造函数要求检查路径的合法性,这个检查要求在带有work directory的路径下使用。 因此,我们需要借用 Repository 这个类的实例方法,但却要改造它的构造函数。设计现在能想到的方法是使用 prototype 继承:var WithWorkpathRepository = require('gitty'); Repository.prototype = new WithWorkpathRepository('../data'); 我们定义的 Repository,其 prototype 是来自 gitty 模块的创建的对象,为了使new不报错,只好创建了一个data文件夹,并在里面创建了 .git 文件夹。 这样也能工作,但代码却有点恶心。请教:除了构造函数不同,其他实例方法基本能公用的两个类,该怎么设计?
查看完整描述

1 回答

?
Despicableme01

TA贡献11条经验 获得超9个赞

.bind() , .call() , .apply()?

查看完整回答
反对 回复 2016-08-03
  • lisa2moon
    lisa2moon
    虽然不是我想要的。但还是谢谢你的回复哦
  • 1 回答
  • 1 关注
  • 1236 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信