Ванька ([info]dedm) wrote,
@ 2009-05-15 14:12:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Entry tags:development, fowler

Подсмотрел у Фаулера
Простая, но концептуальная идея классификации бизнес-логики приложения состоит в выделении трех последовательных частей:

— валидация (validation): проверяем, что входящие данные имеют смысл и должным образом подходят для выполнения дальнейших действий;
— воздействие (consequence): запускаем какое-нибудь действие, которое изменяет состояние системы (переворачивает мир™);
— проведение вывода (derivation): извлекаем некую информацию на основе той информации, которую мы уже имеем (строим проекцию данных).

При этом части не всегда обязательны. Например, при просмотре списка имеющихся сообщений может происходить только вывод, при логгировании сообщения — только валидация и воздействие.




(8 comments) - (Post a new comment)


[info]gabaidulin
2009-05-15 11:08 am UTC (link)
развИй :-)

(Reply to this) (Thread)


[info]dedm
2009-05-15 11:31 am UTC (link)
ты хотел сказать «разве´й»? :)

(Reply to this) (Parent)(Thread)


[info]gabaidulin
2009-05-15 11:33 am UTC (link)
я хотел сказать что для пятничного поста мало :-)

(Reply to this) (Parent)(Thread)


[info]dedm
2009-05-15 11:53 am UTC (link)
это не пост, просто заметка :) на досуге подумаю над ней, и сделаю какие-нибудь выводы.

(Reply to this) (Parent)(Thread)


[info]gabaidulin
2009-05-15 11:58 am UTC (link)
Если серьезно говорить, то многие подобные штуки практической ценности не несут. Ну вот что толку от этой классификации. Ну да, приколько на лекции будет рассказать студенту. Но в практическом смысле это все настолько естественно и очевидно, что не требует формализации, наверное.

Пример.
Мне гораздо важнее что человек знает какой флаг нужно использовать при открытии файла чтобы записть в лог была потобезопасна, нежели он будет первоклассно об этом процессе рассуждать ровно до того момента когла произойдет первый коррапт лога :-)

(Reply to this) (Parent)(Thread)


[info]dedm
2009-05-15 12:01 pm UTC (link)
> Ну вот что толку от этой классификации

ru.wikipedia.org/wiki/Концептуальное_мышление

(Reply to this) (Parent)


[info]danyastuff
2009-05-15 07:00 pm UTC (link)
Ну а у тебя разве не так все происходило?

(Reply to this) (Thread)


[info]dedm
2009-05-16 04:58 am UTC (link)
с функциональной точки зрения оно так у всех происходит, даже у тех, кто об этой классификации не догадывается.

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

(Reply to this) (Parent)


(8 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…