понедельник, 10 ноября 2014 г.

Обратно к началу

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

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





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

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

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

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

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

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

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

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

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

Original: Back to Basics

2 комментария:

  1. Master, you'll notice...
    Учитель, Вы можете заменить...

    Now, this part is really going to make you laugh.
    Теперь, эта часть дествительно заставит вас смеяться.

    Такие хорошие тексты, и такой прямой, подстрочный перевод. Я читаю на английском эти коаны, но суть многих до меня не доходит, и я переключаюсь на русский перевод.
    И у меня вытекают глаза. Почти в каждом Вашем переводе такая небрежность.
    Ну не халтурьте Вы так, пожалуйста. Вас же читают.

    ОтветитьУдалить
    Ответы
    1. > Master, you'll notice...
      > Учитель, Вы можете заменить...

      Мог опечататься, я же не литератор.

      > Now, this part is really going to make you laugh.
      > Теперь, эта часть дествительно заставит вас смеяться.

      Это в каком коане?

      > И у меня вытекают глаза.

      Можете попробовать сами переводить. Эрик открыт для новых переводов. Там есть коаны переведённые разными людьми на один язык. Можете комментировать и исправлять мои, как тоже бывало, а я уж сообщал автору, что текст обновился.

      Удалить