设计模式和设计原则之间有什么区别?

Bib*_*rma 11 ruby design-patterns ruby-on-rails design-principles

我是Ruby on Rails的新手,我浏览了这些文章.

但我无法理解设计模式设计原则之间的实际区别.有人可以解释这个区别吗?

Ars*_*Ali 21

设计原则:

设计原则是我们在设计软件时应遵循的核心抽象原则.记住它们不具体 - 相当抽象.只要我们处于允许的条件范围内,它们就可以在任何平台上应用于任何语言,无论其状态如何.

例子:

  • 封装各种不同的东西.
  • 编程到接口,而不是实现.
  • 取决于抽象.不要依赖具体的课程.

设计模式:

它们是一次又一次出现的现实问题的解决方案,因此我们不再重新发明轮子,而是遵循经过充分验证,经过其他人测试并可安全遵循的设计模式.现在,设计模式是具体的; 只有可以应用设计模式的条款和条件.

例子:

  • 单例模式(一个类一次只能有一个实例)

  • 适配器模式(不同类的匹配接口)

以下类比将帮助您更好地理解差异:

原则:我们应该教别人,以便教育自己和他人,并使我们的国家成为一个进步的国家.

模式:在我们国家,每个医生毕业生应该在一个遥远的村庄教6个月来完成他/她的学位.


jac*_*646 11

我认为@ArslanAli 的回答值得总结。

  • 原则适用于所有编程。每当您选择不遵循原则时,您都应该有充分的理由。
  • 模式适用于特定的、常见的问题。任何时候你选择实现一个模式时,你都应该有一个很好的理由。


小智 6

原则是要遵循的最佳实践,以实现可扩展的架构和软件工艺。设计模式是关于如何进行设计和构建代码的技术。每种设计模式都有不同的用例,适用于不同的场景。另一方面原则;在大多数情况下,您需要遵循它们才能保证代码质量。是的,一些原则意味着一些设计模式:例如。开放/封闭原则密切暗示着策略模式。依赖注入与 MVC 模式有着密切的联系。