问题标签 [class-design]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1377 浏览

objective-c - 如何在特殊类中建立 HTTP 连接?

我想创建一个类来处理其他类的所有 HTTP 连接工作(以避免重复编写代码)。我称它为 ConnectionCenter(NSObject 的子类)并向其添加以下代码:

其他类通过传递 URL 和 ConnectionCenter 对象来调用它。但是没有调用 ConnectionCenter 中的方法“didReceiveData”。关于它有什么问题的任何想法?

0 投票
3 回答
972 浏览

c# - 类设计 C# 命名空间分离

我仍在尝试锻炼功能分离以及它如何应用于类创建和命名空间包含。我有一个自定义类 SoftwareComponent,当呈现给用户时,它最常显示为 ListItem。创建 ToListItem 方法是个好主意吗?我担心,因为我现在在类中放置了一个依赖项,这将需要包含 System.Web.UI.WebControls 命名空间。

我的另一个倾向是根据其在类本身之外的属性从 SoftwareComponent 创建一个 ListItem。请就哪种方法更合适/更好提供任何想法。

0 投票
4 回答
2226 浏览

c# - 类设计——属性还是参数?

我正在设计一个类...

有些关键方法需要将对象传递给它们,或者它们需要能够“获取”对象。

所以问题是,您应该使用 getter/setter 还是直接将对象作为参数发送给方法 - 以便方法正常工作。还是应该通过构造函数设置对象,如果它们对类的正确运行非常重要?

0 投票
3 回答
620 浏览

objective-c - 如何设计一个静态类?

我想创建一个特殊的类来保存很多值,比如 strName、strNo、intPassword……这样其他几个类就可以修改这个类中的相同值。我想使用点语法来调用它的属性,比如

我不想在每次读/写它的值之前初始化类,因为它的一些值仍在使用中。

我将类称为“值”并使用以下代码对其进行设计:

我将“Values.h”导入另一个类并使用

我不创建“值”对象以避免数据被覆盖。弹出一个错误,说“之前的语法错误”。令牌'。还有其他方法可以创建一个存储全局变量但在使用这些数据时不需要初始化的类吗?

0 投票
3 回答
122 浏览

.net - 以域类的名称放置实体是一种好习惯吗?

目前我正在讨论将实体放在每个实体的末尾是否是一种好习惯,例如

代替

在我的职业生涯中,我两者都见过,但现在你是怎么做到的?

0 投票
2 回答
1034 浏览

c# - 构造函数中的业务逻辑 - C#/Linq to Sql

我正在扩展(不确定此处是否正确)在 Linq to SQL 数据库模型中生成的部分 Cart 类。

业务逻辑是每个客户只能有一个购物车。如果客户没有购物车,则应该创建它;如果客户有购物车,则应退回。

这就是我正在做的事情:

从构造函数调用方法似乎并不正确。我是否以正确的方式执行业务逻辑?

0 投票
4 回答
6870 浏览

iphone - 讨论 HTTP 连接的 'didReceiveData' 方法

我为 HTTP 连接创建了一个独立的类。所有连接工作正常。问题是我发现方法'didReceiveData'将在调用连接的方法之后被调用。(方法 'didReceiveData' 将在 IBAction 'accept' 之后调用)

这将导致一个问题,如果我想将标签的文本更改为接收到的字符串,代码不能写在 IBAction 'accept' 中,而必须写在方法 'didReceiveData' 中,如下所示:

另一个问题是,如果我在“didReceiveData”中初始化 MainView,MainView 上的数据将被覆盖。我是否可以在不初始化 MainView 的情况下更改 labelStr 的文本?

0 投票
5 回答
370 浏览

language-agnostic - 您在课程中允许的最大方法的限制 N 是多少?

在填写面向对象概念调查(为一些学术研究人员提供软件设计的真实数据)时,我遇到了这个问题:

您在课程中允许的最大方法的限制 N 是多少?

然后调查继续询问一旦达到这个限制 N,你是否重构你的类。

老实说,我在设计我的应用程序时从未考虑过这样的限制,并且想知道这背后的原因是什么。为什么我想给自己设置一个可能非常依赖于类功能的任意数字?

0 投票
2 回答
12365 浏览

java - 如何设计扩展

有一个Checkstyle规则DesignForExtension。它说:如果您有一个非抽象、非最终或空的公共/受保护方法,则它不是“为扩展而设计的”。阅读Checkstyle 页面上此规则的说明以了解基本原理。

想象一下这种情况。我有一个抽象类,它定义了一些字段和这些字段的验证方法:

我还有一个植物的子类:

按照 Checkstyle 规则,Plant.validate() 方法不是为扩展而设计的。但是在这种情况下我该如何设计扩展呢?

0 投票
2 回答
421 浏览

python - 在 Python 中查找类的静态属性

这是一个不寻常的问题,但我想__slots__根据我碰巧添加到类中的任何属性动态生成类的属性。

例如,如果我有一堂课:

我想动态地执行此操作,而不是手动指定参数,我该怎么做?