不同的编程语言具有不同的特性或者缺少某些功能。设计模式是一种方法来解决这些缺点。我已经看过的书籍,并列出了有关设计模式在静态的、面向对象的语言(Java、C++),但也有关的视频设计模式在蟒蛇。

我有兴趣看到一些共同的设计模式在其他语言,如,标,口齿不清等。一个简短的说明他们如何看起来像和他们为什么需要的语言将是很好的。也许一个比较短的另一种语言,以解决这个问题没有一个设计图案。

有帮助吗?

解决方案

设计模式有时被称为“习语”。在非OO语言(C,Forth,COBOL等)中,它们只是“通常的做事方式”。有时,它们被称为“算法”。每种语言(实际上,每个学科)都有设计解决方案的模式。

如果你看过两三次,你就会看到一种模式。如果你能够描述背景,问题,解决方案和后果,你就会把模式从模糊的东西提升到具体而具体的东西。

在非OO语言中,模式通常不会被命名和编目。不知道为什么会这样,似乎是这样。

其他提示

对于LISP中的设计模式,您可以阅读Peter Norvig的这个。 / p>

引用此幻灯片

  

23种设计模式中的16种不可见或更简单

设计模式并不真正意味着与任何语言联系在一起。它们是解决常见问题的更通用解决方案。

在口齿不清,而不是设计图案你都使用:

  • lambda和关闭(匿名的功能和捕捉环境)
  • 高秩序的职能(功能处理职能)
  • 宏(法extesnions)
  • 不同的评估战略(懒惰的评估,回溯)
  • 第一类职能、课程、命名空间模块等等。
  • 动态环境下(例如替代职能在任何时候)
  • 等等。

我真的不知道是什么的设计图案意味着在这一方面起到举足轻重的作用。如果一个设计图是哪一个应该按照解决某些种类的问题,那么它就是一个缺乏特性的编程语言或环境。计算机可以处理的重复性任务相当好,因此设计的模式必须可以实现的,只是称为与实际参数。

C#和.Net中的代表和事件使实现观察者模式变得微不足道,因为它是如此常用,例如处理GUI事件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top