Many thanks to Tristan Morris for creating a beautiful illustrated hardcover print edition of the site

tcc-case-title
(Sorry, this page has not been translated by the translator you selected.)

Старый учитель Банзен вызвался присмотреть за кланом Паука во время странствий учителя Суку, но пока месяцы тянулись получаемый опыт портил ему нервы. В одном критически важном приложении компоненты, написанные разными разработчиками, каким-то образом влияли на работу друг друга, что приводило к странным ошибкам времени выполнения.

Отчаявшийся Банзен раздобыл у учителя Бавана бутылку жёлтого вина, сразу же ополовинил её и позвал своего ученика Джишина.

- - -

Неделю спустя Джишин сообщил о своих достижениях:

“Наша проблема заключается в контекстах сеанса и запроса Java-сервлета, где мы храним данные о состоянии и отображении. Эти контексты являются хэш-таблицами, в качестве значений которых используются объекты, а в качестве ключей - строки по выбору разработчика. Так как каждый разработчик выбирал ключи, не советуясь со своими коллегами, то компонент иногда может менять значения контекста, используемые другим компонентом. И часто на объект совершенно другого типа”.

“И каким будет решение?” - спросил Банзен, откупоривая бутылку.

“Я создал общий класс ContextUtil с шестидесятью строковыми константами, по одной для каждого контекстного ключа, используемого в приложении”, - сказал Джишин с гордостью. - “И для каждого ключа я предоставил пару строго типизированных статических методов для получения или установки значения по этому ключу в нужном контексте”.

“Похоже на методы свойств”, - заметил Банзен.

“Точно!” - сказал Джишин. - “В настоящее время я разрабатываю соглашения по именованию ключей, чтобы каждая подсистема могла иметь свой собственный класс ContextUtil, предоставляющий по мере необходимости дополнительные константы и статические методы”.

“Похоже на подклассы”, - заметил Банзен.

“Точно!” - снова сказал Джишин.

“Прекрасно!” - сказал Банзен, осушая стакан. - “Итак, за семь дней, с помощью простых констант и функций, используемых в стандартной хэш-таблице Java, мы изобрели... класс Object”.