- Mastering Python Design Patterns
- Sakis Kasampalis
- 234字
- 2021-08-06 19:21:40
Design patterns
In software engineering, a design pattern is a recommended solution to a software design problem. Design patterns generally describe how to structure our code to solve common design problems using best practices. It is important to note that a design pattern is a high-level solution; it doesn't focus on implementation details such as algorithms and data structures [GOF95, page 13], [j.mp/srcmdp]. It is up to us, as software engineers, to decide which algorithm and data structure is optimal to use for the problem we are trying to solve.
The most important part of a design pattern is probably its name. The benefit of naming all patterns is that we have, on our hands, a common vocabulary to communicate [GOF95, page 13]. Thus, if you send some code for review and your peer reviewer gives feedback mentioning "I think that you can use a Strategy here instead of ...", even if you don't know or remember what a strategy is, you can immediately look it up.
As programming languages evolve, some design patterns such as Singleton become obsolete or even antipatterns [j.mp/jalfdp], others are built in the programming language (iterator), and new patterns are born (Borg/Monostate [j.mp/amdpp], [j.mp/wikidpc]).
- Raspberry Pi for Python Programmers Cookbook(Second Edition)
- Java EE 6 企業(yè)級(jí)應(yīng)用開(kāi)發(fā)教程
- LabVIEW入門(mén)與實(shí)戰(zhàn)開(kāi)發(fā)100例
- PHP程序設(shè)計(jì)(慕課版)
- Python編程與幾何圖形
- KnockoutJS Starter
- SQL Server 入門(mén)很輕松(微課超值版)
- PHP 8從入門(mén)到精通(視頻教學(xué)版)
- Web前端測(cè)試與集成:Jasmine/Selenium/Protractor/Jenkins的最佳實(shí)踐
- Learn Linux Quickly
- Visual Basic.NET程序設(shè)計(jì)
- Python 3.8編程快速入門(mén)
- Delphi Cookbook
- Learning VMware vCloud Air
- 亮劍ASP.NET項(xiàng)目開(kāi)發(fā)案例導(dǎo)航