问题标签 [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 投票
3 回答
378 浏览

c# - 如何编写 C# 类来针对 0 和 null 进行测试

背景:我有一个用 C# (2005) 编写的自定义类,代码类似于以下内容:

使用Savepoint sp声明变量后;我可以测试看看是否已经用类似于以下的代码实例化:

问题:是否可以以某种方式重载类运算符,以便我也可以使用以下语法:if (sp) {...}if (sp != 0) {...}

PS:除了习惯的力量之外,我没有真正的理由想要写 if (sp)。

0 投票
3 回答
3032 浏览

oop - 在设计对象及其关系时如何在组合和泛化之间做出决定?

我想从 stackoverflow 社区寻求这个答案,即我们在设计类时如何决定进行组合或泛化。

0 投票
6 回答
130 浏览

oop - 检查财产价值的最佳地点

假设你有一张班级照片:

这将是检查值是否设置正确的最佳位置。在属性设置器或 Save 方法中。

编辑:如果它是一个更新方法怎么办?如果照片是通过 PhotoManager 添加的,使用像 PhotoManager.Add(Photo p) 这样的方法,那么这是进行验证的最佳位置。

亲切的问候,

0 投票
2 回答
23363 浏览

iphone - 如何在 iPhone 上初始化 NSObject 的子类?

我想在一个类中编写一些方法,以便其他类可以使用[instance methodName:Parameter].

如果该类是 的子类UIViewController,我可以使用initWithNibName它来初始化它。但是我想在NSObject 的子类中编写方法,如何初始化它?

0 投票
2 回答
700 浏览

iphone - 如何在 iPhone 上的类之间传递值?

我想将一个字符串从一个类发送到另一个类:

1)在class1中,我添加一个属性来保存字符串:

2) 和一个发回字符串的方法:

3)在class2中,我添加了一个属性来保存接收到的字符串:

4)和以下代码:

但程序停在 returnStr = [c1 sendBackStr:@"URL"]; 关于它有什么问题的任何想法?

0 投票
4 回答
1830 浏览

iphone - 如何在 iPhone 上使用 self 类方法?(概念问题)

我在 ClassName.m 中编写了一个实例方法:

并使用它调用它

弹出一个警告,但代码仍然可以成功运行。

这是因为我还没有创建类的实例吗?为什么该方法仍然正常运行?调用 self 方法来防止警告的正确方法是什么?

0 投票
14 回答
10730 浏览

c# - 编码指南:如何拆分大型源文件?

我正在处理的项目刚刚在主 C# 文件中达到 4200 行,这导致 IntelliSense 需要几秒钟(有时长达 6 秒左右)来响应,在此期间 Visual Studio 锁定。我想知道其他人如何拆分他们的文件以及是否有共识。

我试图寻找一些指南并找到了Google 的 C++ 指南,但我看不到任何关于语义的信息,例如函数大小和文件大小;也许它就在那里——我有一段时间没看它了。

那么如何拆分文件呢?你是否按照它们所服务的功能对你的方法进行分组?按类型(事件处理程序、私有/公共)?您拆分功能的大小限制是多少?

澄清一下,有问题的应用程序处理数据——所以它的界面是一个大网格,一切都围绕着网格。它有一些用于管理的对话框,但都是关于数据的。它如此之大的原因是有很多错误检查、事件处理以及将网格设置为主从网格,每行多三个网格(但是这些在主行上的负载扩展了)。我希望这有助于澄清我在说什么。

0 投票
4 回答
513 浏览

asp.net - 如何编写支持参数化查询的数据库类

我曾经是一名经典的 ASP 程序员,有时也是编写我的第一个 ASP.NET 应用程序的 PHP 程序员。我喜欢大大改进的 ADO.NET 函数,但我觉得有必要编写一个数据库类。一方面我想整合实际与数据库交互的代码,另一方面我想减少重复的感觉。

一个简单的数据库类并不难做,但我使用参数化查询作为我的安全措施之一。我正在努力解决如何将其纳入课程中。我编写了一个函数,通过传入表和列名来返回数据库中列的数据类型,但是我想不出一种从 SQL 查询中获取表和列名的可靠方法。

我对这个类的设计是有一个用于选择的 Query() 函数和一个用于插入/更新/删除的 Execute() 函数。(不反对拥有更多的公共函数,但不想超越自己。)这两个函数都采用 SQL 字符串和 SortedList 作为参数。可以通过在 SQL 字符串中查找参数名称并查看等号前面来获取列名称。同样,当查询是插入、更新或删除时,获取表名应该相当简单,因为您一次只使用一个表。最大的问题是选择,因为可能有一个或多个连接、内部选择等。

我是不是走错了方向?我没有想到的任何事情都会使我的生活更轻松或更困难?有人用任何可以提供一些建议的语言为此写了一个课程吗?

0 投票
1 回答
803 浏览

c# - 框架给我关于无法直接启动的错误

我创建了 Web 项目,并为框架添加了新的类库。该框架包括 DAL。但添加了参考。并且运行 no this 不会让我失败。runnig 给我错误:

" 不能直接启动输出类型为类库的项目

为了调试这个项目,将一个可执行项目添加到这个引用库项目的解决方案中。将可执行项目设置为启动项目”

请帮帮我...

0 投票
1 回答
265 浏览

class - 如何在 OCAML 类中声明记录

我想在一个类中声明一条记录,如下所示:

但编译器声称这一行是语法错误:type gun = {x:in ....

当像这样在类外声明时

错误是:unbound value gun。

所以有人知道如何用另一种方式达到相同的功能吗?谢谢你!

********* 解决了***

奇怪的是,当类型在外部声明时它正在工作,谢谢