Re: [ruby][sequel] Объявление одного класса в нескольких фай
От: Гест Украина https://zverok.github.io
Дата: 12.09.09 13:27
Оценка: 2 (1)
Здравствуйте, DemAS, Вы писали:


DAS> Потихоньку разбираюсь в Sequel и обнаружил, что в его исходных кодах

DAS>несколько классов объявляются сразу в нескольких модулях. Например:

DAS> — sequel/database.rb — Sequel::Database .......

DAS> — sequel/database/scheme_methods.rb — Sequel::Database ......

DAS> В Programming Ruby ничего не нашел про эту возможность.


DAS> Собственно, я правильно понимаю, что это определение одного и того же

DAS>класса 'размазано' по нескольким классам? Зачем так сделано?

Возможность называется «открытые классы» (несколько определений класса с одинаковым именем дают один и тот же класс). Для «толстых» классов (с кучей возможностей) — это один из способов структурировать код (часть класса в одном файле, часть в другом). Более того, разные файлы можно подргужать в зависимости от внешних условий, из-за чего определение класса будет изменяться.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.