braydie / HowToBeAProgrammer

A guide on how to be a Programmer - originally published by Robert L Read
https://braydie.gitbooks.io/how-to-be-a-programmer/content/
15.9k stars 1.34k forks source link

Proposed new section - Design patterns #33

Open braydie opened 8 years ago

braydie commented 8 years ago

Currently we have 1.11 "How to Learn Design Skills", and I think getting an understanding of well-designed software is very important (especially as a beginner), but should we look to include a section later on (perhaps in Intermediate) on when to use (and not use) design patterns? Currently 1.11 makes no mention of them and even having an awareness of them can be beneficial.

amrFHamza commented 8 years ago

I agree with that

oktapodia commented 8 years ago

:+1:

maciej-gurban commented 8 years ago

Agree, however the topic seems so vast that it would deserve not only a chapter, but probably a whole book to at least lay out the types of methodologies and what each entails.

braydie commented 8 years ago

@maciej-gurban - completely agree with you. My guess would be that the chapter would merely introduce the concept of design patterns, surmise the pros and cons of using them and then point to further reading on specifics

oktapodia commented 8 years ago

If you want to get a list of design pattern in PHP, you can go here

RobertLRead commented 8 years ago

I think we could definitely expand this section, with references, starting with the "Gang of Four" book and then reference design pattern books in particular languages.

As @maciej-gurban mentions, it is probably not best to try to teach design patterns here. However, I would like to have a statement about how to recognize when a design pattern might help you (e.g., when you find yourself doing the same thing twice or three times)

ImDineshSaini commented 8 years ago

Software Architecture should be correct name to represent the section, we can add the small section inside that like: Design Pattern, Architecture Pattern

braydie commented 8 years ago

I've started something here

It's in a separate branch and will remain so until we're happy with the content to go back into master

jubrilissa commented 8 years ago

For design patterns in python https://github.com/faif/python-patterns

ImDineshSaini commented 8 years ago

Any suitable link for design pattern in ruby

unknownbreaker commented 3 years ago

How's this one going?