Tak sie zastanawiam nad tym jak stosować zwykle wzorce projektowe ze wzorcem architektonicznym MVC zaimplementowanym w railsach…
Przy duzych aplikacjach bywa ze trzeba napisac pare dodatkowych klas odzwierciedlajacych jakas logike biznesowa. Framework przewiduje cos takiego jak model, controller, widok czy helper… a gdzie jest miejsce dla tej warstwy “biznesowej” ? np: Fabryki obiektow czy jakis klas dla wzorca strategia…
Jak to implementujecie korzystajac z calego dobra jakie daje rails
Wzorce projektowe istnieją w językach takich jak C++ czy Java. Część jest wymuszona przez system typów, inne przez braki w semantyce. W Ruby większość tych wzorców jest zbędna - lub została zaimplementowana jako biblioteka (patrz Singleton). Wzorzec fabryki jest ‘zaimplementowany’ w klasach Ruby. Każda klasa jest de facto fabryką z metodą new służącą do pobrania nowej instancji. A ponieważ każda klasa jest też obiektem możesz ją przekazać jako parametr do obiektu, który jej potrzebuje.
Gdy pisałem w Javie stosowałem wzorce na każdym kroku. Były one podstawą do utrzymania wysokiej jakości kodu. Teraz każdy powtarzający się fragment kodu traktuję jako najgorsze zło - a Ruby pozwala mi wyrefaktorować nawet najdrobniejsze powtórki.