- [[Replace Conditional with Polymorphism]] ( TODO )
- [[Replace conditional with Null Object]]
- [[Extract method]]
- [[Extract Class]]
- [[Extract Value Object]]
- [[Extract Decorators]]
- [[Extract Partial]]
- [[Extract Service Object]]
- [[Introduce Observer]]
- [[Introduce Parameter Object ]]
- [[Use class as Factory]] ( TODO )
- [[Move method]]
- [[Inline class]]
- [[Inject dependencies]]
- [[Replace mixin with composition]]
- [[Use convention over configuration]]
- [[Introduce Visitor]]
- http://blog.rubybestpractices.com/posts/gregory/055-issue-23-solid-design.html
- http://confreaks.com/videos/185-rubyconf2009-solid-ruby
- http://www.slideshare.net/jcfischer/solid-ruby-solid-rails
- https://github.com/jimweirich/presentation_solid_ruby
- http://www.aqee.net/s-o-l-i-d-class-design-principles/
- OCP http://ithelp.ithome.com.tw/question/10100008
- DRY http://ithelp.ithome.com.tw/question/10100309
- SRP http://ithelp.ithome.com.tw/question/10100557
- LSP http://ithelp.ithome.com.tw/question/10100827
- ISP http://ithelp.ithome.com.tw/question/10101106
- Law of Demeter http://ithelp.ithome.com.tw/question/10101265
- DIP
- http://ithelp.ithome.com.tw/question/10101486
- http://neethack.blogspot.tw/2010/02/dependency-injection-dip-pattern.html
- [[Extract Value Object]]
- [[Extract Service Object]]
- [[Extract Form Objects]]
- [[Extract Query Objects]]
- [[Introduce View Objects]]
- [[Extract Policy Objects]]
- [[Extract Decorators]]
http://ghendry.net/refactor.html https://learn.thoughtbot.com/refactoring