Observer,MVC,Singleton和Flyweight - 相似之处?

时间:2015-06-06 22:22:58

标签: design-patterns

这不是真正的家庭作业,但这是我一直在想的事情,因为我在学校没有得到这些问题的答案:

观察者设计模式当然是一种模式,但它也可以是MVC模式/体系结构的一部分。这是"视图" MVC的一部分 - 但我不明白究竟是怎么回事?

此外,Singleton和Flyweight也是两种不同的模式 - 但它们是否有一些相似之处?在我得到的运动文件中,它表明这两种模式共享一些东西?

如果有人能为我解释,我会非常感激。

1 个答案:

答案 0 :(得分:0)

首先,让我尝试定义设计模式的含义。

设计模式是开发人员认可的重复代码片段,可帮助他们以更具可读性和合理性的方式建模和实现应用程序。

因此,就其本质而言,设计模式也可以根据您尝试解决的问题和您选择使用的相关技术以不同方式进行更改和调整。

在我对MVC的理解中,例如,View是Observer,而Model对应于View观察到的Subject。每次Controller更新模型时,View都会收到有关这些更新的通知,并可以在屏幕上呈现更改。

单例模式是一种确保只有一个类的实例在整个应用程序中运行的方法,并且通常可以从代码中的任何位置全局访问它。

Flyweight,基本上说你可以通过创建两个类来将类的外在部分与内在部分分开。这样,您可以实例化更多只包含类的状态相关部分的对象,并共享一个包含基本行为的类。

Singleton,MVC,Observer和Flyweight如何相互交互取决于通过应用此模式和更多模式来实现应用程序的开发人员。