Re[11]: хотите развею мифы о работе в Microsoft, Redmond WA
От: Bumbakoff  
Дата: 22.06.04 10:31
Оценка: 1 (1) +1
Здравствуйте, mikkri, Вы писали:

M>И правильно делают. Такой код — в жесткий рефакторинг.

довольно категорично , но, на мой взгляд, не совсем резонно.

M>А если вы решите переходить на другую реализацию Map, кто потом будет править твои HashMap повсеместно???

а подобный подход вообще не подразумевает перехода на другую реализацию Map, потому как если в проекте существует переход на другую реализацию какого-либо интерфейса, то создается фабрика.

M>Одно дело поменять в нескольких местах создание нового Map, совсем другое дело поменять повсеместно, где они используются. Собственно, советую подумать на причинами, по которым существуюет интерфейс Map. Надеюсь, тебе самому тогда станет понятно, что ты не прав.


а чем одно дело отличается от другого? и что нужно менять повсеместно, где используются? если я произвожу вызовы только методов интерфейса Map, а сам интерфейс не изменяется, то замена производится только в месте создания. если есть вызовы, специфические для HashMap (ну надо мне , то ни о каком переходе на новую реализацию Map не может быть и речи. если изменятся интерфейс Map, то все по-любому накрывается медным тазом.
и как на счет того, чтобы подумать над причинами, по которым класс HashMap является публичным? а над причинами существования интерфейса Map нужно думать не его пользователю, а его создателю и проектировщику. если реализация какого либо интерфейса будет изменятся, то его пользователь (напр., прикладной программист) ничего не должен знать об этом, равно как и о том, какие реализации вообще существуют.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.