encapsulation相关内容

DDD以及Getter和Setter的使用

我已经阅读了几篇有关Getter和Setter的用法以及它们如何帮助克服将域模型对象封装的目的的文章/帖子。我了解不使用设置器的逻辑-您允许客户端代码在对象业务规则和不变式的上下文之外操作该对象的属性。 现在,此主体仍然让我感到困惑。例如,如果我需要更改对象的成员变量的值怎么办?例如,如果一个人的名字改变了,我该如何在模型中反映出来?一开始我想,为什么不拥有一个名为“ ChangeName” ..

使用JavaScript动态应用CSS

采用JavaScript动态地将样式(即样式的值在运行时创建)应用于HTML元素的一种好方法是什么? 我正在寻找一种将JavaScript小部件(JS,CSS和标记)打包在单个组件(基本上是一个对象)中的方法。这个想法是让组件封装样式(因此用户拥有一个不错的API来修改样式,而不是直接修改CSS并间接应用更改的更紧密耦合的方法)。问题在于,单个API调用可能意味着更改了多个样式元素。 ..
发布时间:2020-10-12 05:03:50 前端开发

在单个命名空间下合并javascript伪类对象

我有一些从Java移植到JavaScript的类。我想将它们合并到一个库中。 例如: var myLibrary = { 版本:1.0, ...更多代码... }; 现在我想向该库添加一个类(这是从Java移植到JavaScript的!)如下: 编辑: 以下的新版本 该类的工作原理非常漂亮,但是封装起来却很困难。我想做这样的事情: ..
发布时间:2020-10-02 01:40:28 前端开发

在另一个类中声明一个类的目的是什么?

我来自VBA世界,在那里将代码分解为类,名称空间和模块的选项受到限制。现在我刚进入一个有很多选择的世界,我感到迷茫。 我想知道在另一个类中声明一个类的目的是什么? (请参见下面的示例) Class FirstClass Public OnePropertyInsideAs String Class SecondClass Public AnotherProperty As ..
发布时间:2020-10-02 01:18:54 其他开发

VB6中的公共财产,朋友和公共变量有什么区别

好的,所以我知道离子VB6,一类封装的属性可以属于以下三类之一: 公共属性 朋友 公共变量 有什么区别在这些之间以及如何将它们与C#等更现代的语言中的公共财产和私有财产进行比较? 解决方案 作用域限定符 公共和朋友 确定不同项目中的客户是否可以看到该项目。 公共项可以被其他项目中的客户端代码访问 1 和在同一项目中编码。 Friend 项目仅可用于同一项目中的代码, ..
发布时间:2020-10-02 00:32:29 其他开发

在什么情况下应使用公共字段代替属性?

可能重复: 公共数据成员与Getter,Setters 在什么情况下应使用公共字段,而不是属性或getter和setter方法(不支持属性)?建议在哪里使用它们?为什么?如果不是,为什么仍然允许将它们作为语言功能使用?毕竟,它们违反了允许和鼓励使用getter和setter的封装的面向对象原则. 解决方案 很难说,但是在我看来,公共字段仅在使用结构体时有效. struct S ..
发布时间:2020-08-05 22:01:20 其他开发

Scala类型别名,包括伴随对象[初学者]

我想写一个类型别名来缩短,美观和封装的Scala代码. 假设我得到了一些集合,该集合具有作为地图列表的属性,其值是元组. 我的类型将编写List[Map[Int, (String, String)]]之类的内容,或者在我的应用程序允许的范围内编写更通用的内容.我可以想象有一个超类要求Seq[MapLike[Int, Any]]或任何使我的船浮起的东西,而具体的子类更为具体. 然后我想为这种长 ..
发布时间:2020-07-12 04:40:10 其他开发

每个类的职责以及它们如何在UML中彼此交互

我正在尝试为我的项目管理软件绘制一个类图,描述以下情形. 它包含 项目 经理 员工 经理可以创建项目 经理可以更改项目截止日期 经理可以更改项目名称 经理可以将一名员工分配给项目(单个项目只有一名分配的员工) 员工可以提交项目 为上述要求创建了此类图 并如下所示使用php在代码中实现 Class Manager { private $Id; private $n ..
发布时间:2020-07-02 02:23:48 PHP

Javascript范围引用外部对象

基本上,我为Javascript使用了称为 Joose 的元类框架,该框架使我可以使用更优雅的类语法-但我不知道如何从类声明的更深层方法中引用对象的范围.我还使用require.js进行依赖管理... 这是一个示例类定义: define([ 'jquery', 'handlebars', ], function($, Handlebars){ ..
发布时间:2020-06-27 22:05:43 前端开发

如何在不交“朋友”的情况下访问班级以外的私人数据成员?

我有一个 A类,如下所述:- A类{ int iData; }; 我既不想创建成员函数,也不想继承上面的类A 或更改 iData 的说明符。 我的疑问:- 如何访问对象的 iData 说 obj1 这是类A 的实例吗? 如何更改或操作 iData obj1 的$ c>? 注意:不要使用 friend 。 解决方案 ..
发布时间:2020-06-11 02:08:07 C/C++开发

隐藏外部世界的内部服务,以确保使用正确的高级服务

我正在一个电子商务网站上。我有包含属性和照片的广告实体。将属性写入数据库,并将照片存储在文件系统中。 我在基础设施项目中创建了 WriterService ,该服务负责保存广告...在引擎盖上应该知道属性进入数据库,照片进入文件系统...但是这个细节与外界无关...外界应该使用 WriterService 保存广告。 这是我的作家服务: 公共类WriterService { ..
发布时间:2020-05-31 23:56:10 C#/.NET