小编dev*_*ium的帖子

在Java枚举上实现toString

在Java中似乎有可能写出这样的东西:

 private enum TrafficLight {
  RED,
  GREEN;

  public String toString() {
   return //what should I return here if I want to return
                               //"abc" when red and "def" when green?
  }
 }
Run Code Online (Sandbox Code Playgroud)

现在,我想知道当枚举值为红色时是否可以返回toString方法"abc",当它为绿色时返回"def".此外,是否可以在C#中执行此操作,您可以在哪里执行此操作?:

 private enum TrafficLight {
  RED = 0,
  GREEN = 15
  ...
 }
Run Code Online (Sandbox Code Playgroud)

我试过这个但是它但是我遇到了编译器错误.

谢谢

java enums

46
推荐指数
4
解决办法
5万
查看次数

理解MVC模式

我在理解MVC模式时遇到了一些麻烦.我确实理解我们正试图将GUI与业务逻辑分离,尽管我在理解方面遇到了问题.

根据我的理解,这View是用户看到的.所以它通常是窗口/窗体.的Controller是其间的ViewModel.控制器将使数据在两个方向上"流动".它还会在需要时保持状态(如果我有一个包含5个步骤的向导,那么Controller确保它们以正确的顺序制作是负责任的,等等).这Model,是我的应用程序逻辑的核心所在.

这个观点是否正确?

为了尝试将其转化为更有意义的东西,我将尝试使用WinForms绘制一个简单的示例(请不要使用ASP.NET或WPF! - 对于java人群,从我的理解,Swing在类似的工作中通往WinForms的方法!),看看我是否正确,并且我会提出我在做这件事时总是会遇到的问题.


让我们假设我有一个只包含一个类的模型(只是为了让它变得更容易.我知道它会使示例看起来很笨,但这样更容易):

class MyNumbers {
    private IList<int> listOfNumbers = new List<int> { 1, 3, 5, 7, 9 };

    public IList<int> GetNumbers() {
        return new ReadOnlyCollection<int>(listOfNumbers);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在是时候让我Controller:

class Controller
{
    private MyNumbers myNumbers = new MyNumbers();

    public IList<int> GetNumbers() {
        return myNumbers.GetNumbers();
    }
}
Run Code Online (Sandbox Code Playgroud)

View应只是有一个ListBox有作为的项目中检索到的所有数字MyNumbers.

现在,第一个问题出现了:

应该Controller负责创建MyNumbers吗?在这个简单的例子中,我认为它是可以接受的(无论如何MyNumbers都会完全相同,并且没有相关的状态).但是我们假设我想要用于所有不同的控制器,我的应用程序具有相同的实例MyNumbers …

.net c# java model-view-controller winforms

43
推荐指数
1
解决办法
8139
查看次数

为什么.net中的数组只实现IEnumerable而不是IEnumerable <T>?

我正在实现自己的ArrayList类,当我意识到这一点时,我感到很惊讶

public System.Collections.Generic.IEnumerator<T> GetEnumerator() {
    return _array.GetEnumerator();
}
Run Code Online (Sandbox Code Playgroud)

没用.数组在.NET中不实现IEnumerator的原因是什么?

有没有解决方法?

谢谢

.net c# arrays ienumerable ienumerator

42
推荐指数
1
解决办法
3万
查看次数

建筑模式和建筑风格之间有什么区别?

软件架构 - 基础,理论和实践中,我可以找到两者的定义.问题是,我不能用简单的英语得到每个人的意思:

建筑模式

体系结构模式是体系结构设计决策的命名集合,适用于参数化的重复设计问题,以解决出现该问题的不同软件开发环境.

建筑风格

建筑风格是建筑设计决策的命名集合,(1)适用于给定的开发环境,(2)约束特定于该环境中特定系统的建筑设计决策,以及(3)在每个环境中引出有益的品质结果系统.

每个人的意思是什么,他们之间有什么区别?

architecture architectural-patterns

39
推荐指数
4
解决办法
3万
查看次数

什么是Business Objects,什么是Business Logic?

阅读时,我不断看到他们所说的内容Business Objects.我已经查阅了维基百科等等,但我一直都没有得到Business Object它.

对于那些不了解软件架构等问题的人来说,有什么简单的解释吗?

还有,是什么Business Logic

business-logic

37
推荐指数
4
解决办法
3万
查看次数

具有自定义相等标准的Java HashSet?

我一直在寻找到Java TreeSet中的接收在实例化时的自定义能力比较类似的东西,所以我需要不使用对象的默认平等(和散列码)的标准.

我能想到的最接近的是将我的对象包装在一个私有的自定义类中,但这看起来很糟糕:(这在编程时最终成为一种反复出现的主题,所以我想知道是否已有可供我们使用的东西.也许在公共图书馆?

谢谢

java set hashset

37
推荐指数
1
解决办法
4万
查看次数

OrderBy和OrderByDescending稳定吗?

我目前正在阅读Pro LINQ c#2008,而在第87页,这个人说OrderBy和OrderByDescending是稳定的.但他在第96页中恰恰相反.它在我看来,因为他指的是完全相同的功能,所以我不明白.它们是否稳定?

.net c# linq vb.net sql-order-by

36
推荐指数
2
解决办法
7929
查看次数

如何在c ++/cli中使用Nullable类型?

我有以下代码,我认为它可以工作:

property Nullable<double> Angle {
    Nullable<double> get() {
        return nullptr;
        }
}
Run Code Online (Sandbox Code Playgroud)

它没有.我该怎么做?c ++/CLI甚至支持可空类型吗?

c++-cli

36
推荐指数
1
解决办法
1万
查看次数

不可变的数据结构性能

我不知道作为一个集合的东西如何是不可变的并且仍然具有可接受的性能.

从我在F#集中读到的内部使用红黑树作为它们的实现.如果每次我们想要为Red Black Tree添加新内容,我们必须基本上重新创建它,它如何才能获得良好的性能?我在这里错过了什么?

虽然我问F#的集合,但我认为这与任何其他拥有或使用不可变数据结构的语言相关.

谢谢

.net f# functional-programming immutability data-structures

35
推荐指数
4
解决办法
3303
查看次数

ret,retn,retf - 如何使用它们

我有以下asm代码:

; int __stdcall wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd)
_wWinMain@16 proc near

var_8= dword ptr -8
var_4= dword ptr -4
hInstance= dword ptr  8
hPrevInstance= dword ptr  0Ch
lpCmdLine= dword ptr  10h
nShowCmd= dword ptr  14h

push    ebp
mov     ebp, esp
sub     esp, 8
mov     [ebp+var_4], 5
mov     eax, [ebp+var_4]
add     eax, 1
mov     [ebp+var_8], eax
xor     eax, eax
mov     esp, ebp
pop     ebp
retn    10h
Run Code Online (Sandbox Code Playgroud)

从我读到的,你有3种类型的返回指令:ret,retn和retf,意思是返回,返回附近和返回远.它们允许一个可选的参数nBytes,我想这是从定义的变量中弹出的字节数.什么时候应该使用retn或retf而不是ret?如何计算可选参数nBytes?

x86 assembly

33
推荐指数
3
解决办法
7万
查看次数