3608得票39回答
什么是依赖注入?

已经有一些关于依赖注入的问题被提出,例如何时使用它以及有哪些框架可用。然而, 什么是依赖注入?何时/为什么应该或不应该使用它?

2360得票24回答
MVP和MVC是什么,它们有什么区别?

当我们超越许多工具鼓励的RAD(拖放和配置)方式构建用户界面时,您可能会遇到三种设计模式,称为Model-View-Controller, Model-View-Presenter 和 Model-View-ViewModel。我的问题分为三个部分: 这些模式解决了哪些问题? 它们有什么相...

2303得票39回答
什么是控制反转?

控制反转(IoC)在初次接触时可能会让人感到困惑。 1. 它是什么? 2. 它解决了哪个问题? 3. 何时适合使用它,何时不适合?

2167得票36回答
单例模式有哪些缺点或不足之处?

单例模式是GoF的设计模式书中的成员之一,但最近似乎被开发者世界所遗弃。我仍然经常使用很多单例模式,特别是对于工厂类,虽然你必须小心处理多线程问题(像任何类一样),但我无法理解为什么它们如此糟糕。 特别是Stack Overflow似乎认为每个人都认为单例模式是邪恶的。为什么呢? 请用“事...

2049得票42回答
静态类和单例模式的区别是什么?

静态类和单例模式在实际使用上有什么区别? 两者都可以在不实例化的情况下调用,并且都只提供一个“实例”,但它们都不是线程安全的。除此之外,还有其他区别吗?

1469得票12回答
类命名 - 如何避免将所有东西都称为“<什么>管理器”?

很久以前我读过一篇文章(我相信是一篇博客文章),它让我意识到在程序中给对象命名非常严谨的重要性。 例如,如果我的应用程序(作为典型的业务应用程序)处理用户、公司和地址,则我会有一个User、Company和Address领域类 - 可能会出现一个UserManager、CompanyMana...

1439得票24回答
MVC和MVVM有什么区别?

标准的“模型视图控制器”(MVC)模式和微软的Model/View/ViewModel(MVVM)模式有区别吗?

1147得票29回答
函数式编程是否替代了GoF设计模式?

自从去年开始学习F#和OCaml以来,我已经阅读了大量的文章,这些文章坚称设计模式(特别是在Java中)是命令式语言中缺失功能的解决方法。我发现一篇文章提出了一个相当强的观点: 引用: 我遇到的大多数人都读过Gang of Four (GoF)写的设计模式一书。任何有自尊心的程序员都会告诉你...

894得票24回答
你如何实现单例设计模式?

最近我遇到了一个用于C++的Singleton设计模式的实现。它看起来像这样(我从现实生活中的一个例子中采用了它): // a lot of methods are omitted here class Singleton { public: static Singlet...

850得票29回答
在Java中实现单例模式的高效方法是什么?

在Java中实现单例设计模式的高效方法是什么?