草庐IT

public_private

全部标签

ruby - Ruby 中的私有(private)模块方法

我有一个两部分的问题最佳实践我有一个算法可以使用公共(public)接口(interface)对数据结构执行某些操作它目前是一个包含许多静态方法的模块,除了一个公共(public)接口(interface)方法外,所有静态方法都是私有(private)的。有一个实例变量需要在所有方法之间共享。这些是我能看到的选项,哪个是最好的?:模块带有静态(ruby中的“模块”)方法Class使用静态方法Mixin模块用于包含到数据结构中重构修改该数据结构(非常小)的算法部分,并使其成为调用算法模块静态方法的混合技术部分有什么方法可以制作私有(private)模块方法?moduleThingdefs

ruby - 如何创建私有(private)类方法?

这种创建私有(private)类方法的方法是如何工作的:classPersondefself.get_namepersons_nameendclassraises"privatemethod`persons_name'calledforPerson:Class(NoMethodError)"但这不是:classPersondefself.get_namepersons_nameendprivatedefself.persons_name"Sam"endendputs"Hey,"+Person.get_nameputs"Hey,"+Person.persons_name

javascript - 如何在调用之间调用函数调用私有(private)变量

这是一个直接来自教科书的简单方法,我似乎找不到。我有一个javascript函数。我希望它包含一个private变量,该变量在两次调用之间记住它的值。谁能唤起我的内存。 最佳答案 使用闭包创建它:functionf(){varx=0;returnfunction(){returnx++;};}然后按如下方式使用:>g=f()function(){returnx++}>g()0>g()1>g()2 关于javascript-如何在调用之间调用函数调用私有(private)变量,我们在Sta

javascript - 定义 `that = this` 将如何帮助我创建私有(private)变量/成员?

我正在阅读DouglasCrawford'spiece关于在javascript类中创建私有(private)变量。他在其中说您必须声明that=this以“使对象可用于私有(private)方法”。但是,我能够构建一个具有私有(private)成员、私有(private)方法和公共(public)方法的示例,而无需定义that=this:functionForm(id_code){//privatevariablevarid_code=id_code;varcolor='#ccc';//privatemethodfunctionbuild_style_attribute(){retu

javascript - 如何在解析或拒绝 Dojo Deferred 对象后执行公共(public)代码?

我有一个关于dojo/Deferred的问题。我将从问题开始,然后详细说明我在做什么:有没有办法不管延迟的结果如何都执行相同的代码行,有点像try...catch语句中的finallyblock?从我读过的内容来看,似乎没有,但也许我对文档的理解有误,并想与SO社区进行验证。这是我正在做的:在Dojo1.9(也适用于1.8)中,我在加载一些数据之前为ContentPane实例化了一个dojox.widget.Standby(加载覆盖)。延迟调用完成后,我想隐藏我的叠加层,如下所示:standby=newStandby({...//standbyprops});this.addChild

javascript - 在公共(public)存储库中隐藏 key

我正在开发一个开源javascript应用程序,我正在尝试与第三方API(特别是github)进行交互。我试图只保留我的整个应用程序客户端,所以我真的没有服务器可以回退或存储隐藏文件。作为OAuth流程的一部分,我需要提供为我的apikey提供的key。我不应该发布或共享此key。我想出了以下解决方案:使用三重DES和密码加密key。将加密版本放在我的存储库中的某个地方。当我需要通过Oauth进行身份验证时,提示输入密码并恢复key。一旦知道,将secret存储在本地存储中以避免将来提示。我本质上是在存储key的转换版本。我想这一切给我带来的好处是我必须从用户那里获得密码而不是完整的k

javascript - 揭示原型(prototype)模式私有(private)变量

我在JavaScript的揭示原型(prototype)模式中遇到私有(private)变量问题。我无法弄清楚如何在共享(单例)原型(prototype)内的几个不同函数中使用私有(private)变量,而不公开它们。这是我在JSFiddle中的意思的例子.问题在于使用varv与this.v。第一个会扰乱所有实例的状态,但第二个是公开可见的。有没有办法让v私有(private),并为每个单独的实例保留其状态? 最佳答案 没有办法用揭示原型(prototype)模式来做到这一点。你只能用这样的东西来做到这一点:functionMyCl

javascript - AngularJS 指令中的单元测试私有(private)函数

如何对在指令内定义的函数进行单元测试,如下面的myFunc?angular.module('myApp').directive('myDir',[function(){varmyFunc=function(arg){//codeinhere.};return{restrict:'A',scope:{},link:function(scope,element){}};}]);或者您如何定义我不想在指令之外公开的可测试指令特定函数? 最佳答案 最常见的方法是不测试私有(private)方法,而是测试公开其行为的公共(public)接口(

javascript - 重访 Python 私有(private)实例数据

我读过各种“Python实例中没有真正私有(private)数据”的帖子,但我们都知道在Perl和JavaScript中使用闭包来有效实现私有(private)数据。那么为什么不用Python呢?例如:importcodecsclassSecret:def__private():secret_data=Nonedef__init__(self,string):nonlocalsecret_dataifsecret_dataisNone:secret_data=stringdefgetSecret(self):returncodecs.encode(secret_data,'rot_13

javascript - 为什么谷歌的闭包库不使用真正的私有(private)成员?

我成为JavaScript开发人员已有一段时间了,我一直认为在JavaScript中实现私有(private)成员的正确方法是使用DougCrockford在此处概述的技术:http://javascript.crockford.com/private.html.在我开始使用GoogleClosure库之前,我不认为这是一个特别有争议的JavaScript智慧。想象一下我的惊讶......图书馆没有努力使用Crockford风格的信息隐藏。他们所做的只是使用特殊的命名约定并在文档中注明“私有(private)”成员。我习惯于假设Google的人通常处于软件质量的领先地位,那又如何呢?遵