面向对象设计,采用设计模式
在积累了一定的经验并花了足够的时间在行业中之后,我意识到了设计/架构系统和软件的重要性。 因此,我开始研究系统/软件设计,并且知道没有什么比设计模式更好地开始了。 我要做的第一件事是谷歌搜索“什么是设计模式?” 因此有了本文的想法。
/!\:最初发布于www.vishalchovatiya.com 。
但是,作为一个没有计算机科学背景的人(我来自电子学背景),学习它们是一个挣扎。 每种材料,文章,说明或书都用术语来筛选。 其中一些我还是不太了解。 我几乎不知道Flyweight & Classical Visitor模式是如何工作的,任何说他们这样做的人都是骗子。
因此,在参加了在线课程之后,YouTube视频,大量的谷歌搜索,大量的编排以及学习与非学习之间的间隔重复。 这是我到目前为止所获得的。
什么是设计模式?
从维基百科 :
-在软件工程中,软件设计模式是通用的,可重用的
在给定上下文中解决软件设计中常见问题的解决方案。
-这不是可以直接转换为源代码或机器代码的最终设计。 它是关于如何解决可以在许多不同情况下使用的问题的描述或模板。
设计模式是形式化的最佳实践,程序员可以在设计应用程序或系统时用来解决常见问题。
- 设计模式为常见问题建立了解决方案,有助于保持代码的可维护性,可扩展性和松散耦合性。
- 开发人员已为解决特定类型问题的解决方案命名。 这就是一切的开始。
- 人们越了解它们,就越容易解决我们面临的所有问题。
- 它是通过普及摹盎Ø 器 f F我们(1994年)的书。
什么不是设计模式?
- 它不是代码重用,因为它通常不指定代码。 实际上
实现取决于编程语言,甚至取决于人
就是这样做的。 - 设计模式和原理( SOLID )是两个不同的东西。
- 设计模式既不是静态解决方案,也不是算法,也不是编码标准的硬性规则。软件体系结构不是设计模式。
- 软件体系结构规定了要实施的内容以及将要放置的位置。 而设计模式说明了应如何进行。
- 设计模式尚未准备好编写解决方案的代码,它们更像是对解决方案外观的描述 。 您应该从“设计模式”中保留的是,问题与问题的解决方案密切相关。 它们都同样重要。
为什么我们需要设计模式?
- 作为软件开发人员,我们经常通过一些属性来评估我们的代码,例如,代码的干净程度,表现力,占用的内存更少以及代码的速度。 但是,我们经常忽略的最重要的问题是您以后应该能够轻松更改任何内容。 您今天所做的决定