我习惯于c#/ .net,所以我来自一个类型安全的背景。我正在使用Ruby。我想创建一个具有私有类的类(ClassA)(如果需要,我会解决受保护的)构造函数。原因是,我想创建一个Factory(FactoryModule :: create)来控制所有ClassA对象的实例化。我意识到这在Ruby中不是傻瓜式的(?),但至少代码将会自我记录,因为基于代码和ClassA必须通过FactoryModule :: create方法实例化的测试将会很明显。在ModuleFactory :: create方法中,我尝试将ClassA构造函数的可见性更改为public,实例化对象,然后将可见性更改为private,但是A)我收到错误,并且B)它是sl and而不是线程安全的。有什么想法吗?想使用工厂的私有构造函数实例化一个ruby类
更新答:
https://gist.github.com/gangelo/5551902
感谢兄弟,但我需要保护,最终,Klass.new。我确实使用它来调用帮助我的Klass.send(:new,params)。 – gangelo 2013-05-10 01:33:21
对不起 - 我误解你的问题,指出你正在将'create'定义为私有,并将其用于实例化。 – theTRON 2013-05-10 02:04:18
无后顾之忧;似乎最近在进行;也许我是“华而不实的屁股”。 – gangelo 2013-05-10 02:06:36