这个java设计模式的名称是什么?

KP6*_*P65 2 java oop design-patterns

假设我有一个模拟ATM机器的GUI Java项目,我有以下类:

 - RegisterWindow
 - LoginWindow
 - MainAccountOptionsWindow
Run Code Online (Sandbox Code Playgroud)

所有类都集中在面板/窗口而不是普通的OO设计.有人告诉我这是一个特定的设计模式,也许是以E开头的东西,我只是不记得他们现在说的话!有人知道吗?以这种方式设计东西一般都不好吗?

谢谢

Syn*_*r0r 5

它取决于事件在窗口之间传播的方式.

MVC的好处是有很多不同类型的MVC,简单地说"MVC"并不是很有意义:在谈论MVC和Java时,很多人实际上都是指Sun的"模型2"MVC,但它不是总是如此,远非如此.

您的案例可能是HMVC/PAC的变体,但我无法确定,因为您只粘贴了与该视图相关的名称:HVMC是程序员独立发现的,不知道更老的"PAC"技术.PAC是HMVC的更严格的子集,因为在PAC中,视图不能直接在模型中注册回调(每个通知必须通过控制器,在HVMC中,在某些情况下可以绕过控制器).

200KLOC代码库,它在任何地方都是PAC(因此是HMVC的更严格的子集).

你必须要知道,如果你确实使用任何MVC变体,它不是"糟糕的设计",因为它工作得非常好,但肯定不是"OO".在真正的OO设计中,对象知道如何绘制自己,根据定义,MVC将视图与对象分离,这根本不是OO.这实际上是面向对象的反论.Googling可以找到关于该主题的精彩文章.(简而言之:解耦可能是一件非常好的事情,但解耦并不意味着"OOness").

除此之外,它通常不是一个问题是"不OO都",因为Java程序的99%都没有OO:他们是用一种语言编写的程序荣耀的程序可以被用来做OO但通常是不.

顺便说一句,如果你在维基百科上查看MVC实现的语言列表,你会发现其中很多实际上不是OO语言(甚至不是混合OO语言).

  • 赞成"美化程序计划......" (2认同)