Design patterns 设计模式主要与什么有关?

Design patterns 设计模式主要与什么有关?,design-patterns,Design Patterns,大多数人说设计模式只与软件工程有关 模式使我们专注于重用现有模块,或者将我们从未来变化所带来的繁重工作中解放出来 模式是否使程序运行更高效 建筑和计算机科学中的设计模式是记录特定专业领域中设计问题解决方案的正式方式 它可以使程序运行更高效,占用更少的内存空间,扩展更容易。等等 所有这些都是关于你在谈论什么样的模式,以及你在将其应用于什么样的软件问题。实际上有数百种设计模式。其中一些是为了易于维护,一些是为了正确的对象访问,我相信其中一些甚至可以被认为是性能增强模式 关键是它们是经过验证的解决问题

大多数人说设计模式只与软件工程有关

模式使我们专注于重用现有模块,或者将我们从未来变化所带来的繁重工作中解放出来


模式是否使程序运行更高效

建筑和计算机科学中的设计模式是记录特定专业领域中设计问题解决方案的正式方式

它可以使程序运行更高效,占用更少的内存空间,扩展更容易。等等


所有这些都是关于你在谈论什么样的模式,以及你在将其应用于什么样的软件问题。

实际上有数百种设计模式。其中一些是为了易于维护,一些是为了正确的对象访问,我相信其中一些甚至可以被认为是性能增强模式


关键是它们是经过验证的解决问题的方法,从本质上讲,它们可能会提高性能或许多其他方面。

简单地说,我可以说设计模式实际上是解决问题的一种方法。 如果您知道问题和设计模式存在,那么设计模式将以最佳方式解决您的问题。

不要重新发明轮子

这是主要目标。 设计模式旨在解决重复出现的问题


因此,它们可以帮助您获得更清晰的代码,只要正确使用,就可以使用和重复使用这些模式。这些模式使您的程序更易于维护,因此您的编程可能会更高效。这不一定会影响运行时效率。由于运行时多态性,程序可能会更慢。

模式是否会使程序运行更高效

只有找到了一些提高效率的好模式

映射的设计模式是消除搜索的一种方法。您将看到,搜索所花费的时间将减少一种效率,但它可能会占用更多内存另一种效率

Python人员称之为有序字典的树映射设计模式是这种设计模式的一种变体

散列图设计模式Python称之为dictionary是该设计模式的另一个变体


它们的时间效率更高,但空间效率更低。

设计模式是对定义明确的问题的解决方案。解决方案由相互关联的不同部分组成。该解决方案属于特定环境,其优点/缺点取决于所使用的工具,以及强调问题的哪个方面。设计模式也是沟通设计的一种很好的方式


这不仅仅是一个软件问题,相反,这个想法是从一位名叫的架构师那里大量借用的。

设计模式对于对象的意义就像算法对于过程编程的意义一样。设计模式告诉您如何创建一个或多个对象来执行一些有用的任务。就像算法告诉您如何组合语句来执行一些有用的任务一样。

设计模式通常用于帮助促进不同组件的松散耦合,以便对象本身可以在不同的应用程序中反复使用,而无需进行重大修改。代码的可重用性是开发中的一个主要因素


另一个要考虑的是,通过使代码松散耦合,通过使用设计模式来实现更改所需的时间要少得多,这是因为一个区域的一个主要变化并不意味着大量的变化都在促进。这意味着,如果你想不断地进行更新和功能升级,你可能只需要修改代码的一小部分和孤立的部分,而不必担心整个项目会在你周围变成一个大火球。

不是完全重复,但是,请看这里的答案,了解模式的内容和原因哈希或树映射不是一种设计模式,而是一种算法。您指的是数据结构,而不是设计模式!数据结构是设计模式的实现。模式是实现背后的可重用思想。什么是创意没有界限——所有创意都是潜在的设计模式。设计模式的概念来源于建筑物,而不是软件。+1但它可以使程序运行更高效,占用更少的内存空间——实现设计模式也可以起到相反的作用。是的,非常正确:这就是为什么我说它可以,而不是说它会。