Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Универсальный алгоритм обработки результатов (http://www.flasher.ru/forum/showthread.php?t=161181)

GBee 22.07.2011 01:36

Цитата:

Не должны, это один из вариантов. Ничто не мешает возвращать более информативные объекты.
Ну это уже понятно, как реализую, так и будет. Просто мне пока нужен булевский ответ.

Flashrunner 22.07.2011 01:38

Цитата:

Сообщение от alatar (Сообщение 1013594)
Не должны, это один из вариантов. Ничто не мешает возвращать более информативные объекты.

Но тогда вызывающий валидацию должен будет знать обо всех этих объектах и как с ними работать. Это лишние зависимости на мой взгляд.
Я бы сделал несколько true/false валидаторов, любой из которых можно отключить/добавить без проблем.
И да, о каких тогда стандартизированных интерфейсах вы писали?

alatar 22.07.2011 01:58

Стандартизованный в данном случае, реализующий некий интерфейс.
Событие кочующее вместе с интерфейсом валидатора не будет создавать лишних зависимостей.

Добавлено через 1 минуту
Для примера можно посмотреть валидаторы из флекса.

Flashrunner 22.07.2011 04:46

Посмотрел, понял, что мы говорим немного о разном :)
Вы говорите о дополнительной информации в ответе валидатора, типа "почему объект не прошел валидацию".
А я имел ввиду, что валидатор не должен возвращать "bigger", "less" или "equals", т.е он должен говорить либо "да", либо "нет".
Во флексе это реализовано в виде строк "valid" и "invalid". Других вариантов нет

wvxvw 22.07.2011 12:20

Цитата:

Сообщение от Flashrunner (Сообщение 1013539)
Почитайте про шаблон Specification http://martinfowler.com/apsupp/spec.pdf

Прикольный велосипед :) Человек изобрел теорию категорий, еще раз.
Код:

(deftype odd-integers satisfies 'oddp)
(создаем тип целых нечетных чисел).
или:
Код:

integer(Value) when Value % 2 > 0 ->
    io:format("An odd integer: ~a~%", [Value]);

integer(Value) ->
    io:format("An even integer: ~a~%", [Value]).

ЗЫ. У этих "методов" о которых говорится в бумаге даже имя специальное есть - предикаты.

Flashrunner 22.07.2011 15:59

wvxvw, не могли бы вы на AS перевести? Я с С совсем не знаком и не понял, где велосипед


Часовой пояс GMT +4, время: 22:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.