[RUBY] I read the "Object-Oriented Practical Guide", so a memorandum

Introduction

I thought it would be nice to read the "Object-Oriented Practical Guide", so I made a note for myself. It's still on the way. I read it about a year ago and thought it was a good book, but when I read it again, I have a lot to learn.

"Object-oriented design practice guide" memo (for each table)

Chapter 1

1.1 Design praise

No application has changed. Change will come in any application. Applications that are easy to change are fun to write. On the contrary, it costs money and becomes unmanageable. Parts are "objects" and interactions are "messages" passed between objects. => This is important.

Design is the composition of the code. In other words, the application itself.

1.2 Design tools

Object-oriented design tools

** Design Principles ** SOLID principle => It's a famous guy. I am conscious when writing code, but it is difficult to embody.

** Design pattern ** GoF, design pattern

It's a convenient tool, but it is possible for beginners to misunderstand the intention and design it in a way that does not match the original intention.

1.3 Design act

The reason why the design fails is that the design is not enough. Ruby is easy and anyone can write it. However, on the other hand, undesigned applications are prone to failure.

Also, programmers who know how to do object-oriented design but don't know how to apply it run into another mistake.

Conclusion (tweets unrelated to the text)

After all, I feel that what is called a good book has a lot of learning.

--Readable code --Refactoring Ruby --The way of a master programmer --SQL Anti-Patterns

etc. If I have time, I would like to summarize these books as well.

Recommended Posts

I read the "Object-Oriented Practical Guide", so a memorandum
I read the readable code, so make a note
I read the Kotlin startbook
Read "Object-Oriented Design Practice Guide"
I read the source of ArrayList I read
I passed the Java test level 2 so I will leave a note
I read the source of Integer
A memorandum of the FizzBuzz problem
I read the source of Long
I read the source of Short
I read the source of Byte
I read the source of String
I was a little addicted to the S3 Checksum comparison, so I made a note.
[When using MiniMagick] A memorandum because I stumbled in the CircleCI test environment.
A memorandum to clean up the code Ruby
Read the Rails Guide (Active Record Migration) again
I don't know, so I'm going to write a list (you don't have to read it)
I stumbled when I tried using neo4j in the jenv environment, so make a note
A memorandum because I was addicted to the setting of the Android project of IntelliJ IDEA