Является ли выполнение мета-логики значений данных анти-паттерном? - PullRequest
1 голос
/ 15 февраля 2011

Рассмотрим объект

Person
   firstName
   lastName

Существует предложение, в котором предлагается использовать lastName = "__NOLASTNAME" для знаменитости без фамилии.Это похоже на анти-шаблон.Для него есть имя?

Ответы [ 2 ]

3 голосов
/ 09 декабря 2011

Это называется Волшебная Строка:

http://en.wikipedia.org/wiki/Magic_string

1 голос
/ 15 февраля 2011

Я бы сказал, да, это анти паттерн. Название? Хм, а как насчет " Бедствия ожидают "?

Все ли приложения, работающие с этой таблицей, знают, что "__NOLASTNAME" - это специальное значение?
У вас есть еще эти особые ценности и их будет больше?
Как "__NOLASTNAMEBUTNOCELEBRITYEITHER", чтобы указать на сталкера? Или, может быть, "__NONEOFTHEABOVE", чтобы указать компанию?

Что произойдет, если кто-то назовет свое имя как "__NOLASTNAME"? Будут ли они автоматически рассматриваться как знаменитость? Например, посещение знаменитых саун? Где, кстати, зарегистрироваться?

В зависимости от того, что именно вы моделируете, и от того, как вы будете использовать информацию, вы можете решить ее различными способами, например, с помощью сущности Celebrity или добавлением атрибута Person (type = person | stalker | знаменитость) или флаг даже isCelebrity (true | false).

...