JavaScript函数封装在对象之外
请参阅以下脚本: var x = function(param){ this.data=param; this.y = function(){ alert(this.data) } return this; } /* x.prototype.z = functio…
Clojure 允许封装和继承,但是我可以将它们结合起来吗?
这是一个过于简单的示例来进行说明: 我可以封装一个实现细节,例如使用原子作为计数器: (defn make-counter ([] (make-counter 0)) ([init-val] (le…
“巅峰”封装 - 关于有效 C++ 的建议的问题
《Effective C++》第 23 条规定:优先选择非成员非友元函数而不是成员函数。 该项目的全部目的是鼓励封装以及包灵活性和功能可扩展性,但我的问题是您…
访问Java中的私有Collection字段
我的一个类有一个包含集合的字段。该字段仅在构造函数中填充,然后由其他类读取。最初我有这样的想法: public class Foo { public final Set myItems…
关于范围和封装的问题
我有一个关于范围和封装的一般性问题。采取两个场景: 场景 1: // a global application level constant public static const IS_DEMO_MODE:Boolean …
将枚举方法链接到客户端类的成员变量
以下枚举结构执行某些操作,同时对客户端类保持不可知(出于封装原因) public enum MyEnum implements Commands{ A{ public int method1(int varY) {…
按照正确的 OO 设计使用另一个对象的功能 - 封装
我正在讨论正确的面向对象设计,以使用 java 类中另一个对象的功能(方法),同时两个对象尽可能保持解耦。 例如,在我的类中的某个时刻,为了实现我…
“getters 和 setters 是邪恶的吗?”视图层失败?
很多人都知道这篇文章:有关 getter 和 setter 的更多信息.我认为它在描绘 getter/setter 邪恶的一面方面表现得令人信服。我还通过尝试将现有项目(未…
我应该访问模型中的 POST 参数还是从控制器作为方法参数传递?
我必须处理大约 20 个 POST 参数,但我不知道在哪里处理。 我可以将每个定义为模型上方法的参数,并在调用方法时从控制器传递它们。由于参数的数量,…
将公共 API 转换为内部粘合代码时避免强制转换
因此,我的应用程序公开了这个公共 API,允许客户编写插件。 对于这个例子,假设这是一个相当简单的键值对系统,类似于: public interface Key { // …