Изобрел велосипед, что дальше?
От: jeeist  
Дата: 02.06.09 08:40
Оценка:
Изобрел велосипед, но еще не построил. Прежде чем
читать документацию по Cocoon, Spring, (речь идет о JavaEE)
хотелось бы узнать, где можно найти теорию или шаблоны, как
реализовать авторизацию, отделить общее HTML-содержание.
Книг много, но найти именно то, что нужно, пока не получается.

Index.jsp
<%
RequestProcessor processor=session.getObject("processor");
processor.process(request)
%>
<HTML>
...
<%=processor.get("name")%>
...
</HTML>

RequestProcessor
{
processRequest(request)
{
getRequestParameters(request)
authorize()
transform()    getXML(xmlname)
        fillShablon(xmlname, requestParams)
        processSQL(xmlname, outname)
        processXSLT(xmlname, xslname, outname)
        saveChanges(xmlname)
        sendMail(xmlname)        
}
get(xmlname)
{
return strings.get(xmlname)
}        
}
Re: Изобрел велосипед, что дальше?
От: pvnic  
Дата: 02.06.09 09:36
Оценка: :))
Здравствуйте, jeeist, Вы писали:

сношать мой лысый череп...

а про вторые jsp четать не пробовал?
Re: Изобрел велосипед, что дальше?
От: pvnic  
Дата: 02.06.09 09:39
Оценка:
Здравствуйте, jeeist, Вы писали:

Spring in action почитай.
Re[2]: Изобрел велосипед, что дальше?
От: jeeist  
Дата: 02.06.09 09:58
Оценка:
Здравствуйте, pvnic, Вы писали:

P>Здравствуйте, jeeist, Вы писали:


P>Spring in action почитай.

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

По-моему, я что-то уже читал, но тогда еще мало что понимал.

По этому обращаюсь именно в форум "Архитектура программного обеспечения".
Re: Изобрел велосипед, что дальше?
От: Ziaw Россия  
Дата: 02.06.09 10:11
Оценка:
Здравствуйте, jeeist, Вы писали:

J>
J>processRequest(request)
J>{
J>getRequestParameters(request)
J>authorize()
J>transform()    getXML(xmlname)
J>        fillShablon(xmlname, requestParams)
J>        processSQL(xmlname, outname)
J>        processXSLT(xmlname, xslname, outname)
J>        saveChanges(xmlname)
J>        sendMail(xmlname)        
J>}
J>


Вот это совсем непонятно и нечитабельно, изложи идею по русски.
... << RSDN@Home 1.2.0 alpha 4 rev. 1176>>
Re[2]: Изобрел велосипед, что дальше?
От: jeeist  
Дата: 02.06.09 10:42
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Здравствуйте, jeeist, Вы писали:


J>>
J>>processRequest(request)
J>>{
J>>getRequestParameters(request)
J>>authorize()
J>>transform()    getXML(xmlname)
J>>        fillShablon(xmlname, requestParams)
J>>        processSQL(xmlname, outname)
J>>        processXSLT(xmlname, xslname, outname)
J>>        saveChanges(xmlname)
J>>        sendMail(xmlname)        
J>>}
J>>


Z>Вот это совсем непонятно и нечитабельно, изложи идею по русски.


Есть запрос (request).
Сначала получаем заголовки и параметры, проводим авторизацию,
потом вызываем метод transform().
Метод transform() выполняет операции с XML.
Берем, например, SQL запрос — getXML("allpersonsquery")
Заполняем параметры fillShablon("allpersonsquery", params)
Получаем результат — processSQL("allpersonsquery", "allpersons")
Получаем HTML — processXSLT("allpersons", "tohtmllist", "personslist")
Метод get("personslist") возвращает HTML.

Или processXSLT("mailshablon", params) и отправляем
sendMail("mailshablon")
Re[3]: Изобрел велосипед, что дальше?
От: Ziaw Россия  
Дата: 02.06.09 10:56
Оценка:
Здравствуйте, jeeist, Вы писали:


J>Есть запрос (request).

J>Сначала получаем заголовки и параметры, проводим авторизацию,
J>потом вызываем метод transform().
J>Метод transform() выполняет операции с XML.
J>Берем, например, SQL запрос — getXML("allpersonsquery")
J>Заполняем параметры fillShablon("allpersonsquery", params)
J>Получаем результат — processSQL("allpersonsquery", "allpersons")
J>Получаем HTML — processXSLT("allpersons", "tohtmllist", "personslist")
J>Метод get("personslist") возвращает HTML.

J>Или processXSLT("mailshablon", params) и отправляем

J>sendMail("mailshablon")

Сразу замечу косяк. Данные у тебя остались за бортом. Т.е. все процессы работают с данными, но не получат их и не отдают, поэтому очень сложно понять, что происходит. Я понял лишь смутную мысль. В принципе похоже на то, что ты открыл для себя MVC, но утверждать не берусь.
... << RSDN@Home 1.2.0 alpha 4 rev. 1176>>
Re[4]: Изобрел велосипед, что дальше?
От: jeeist  
Дата: 02.06.09 11:22
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Здравствуйте, jeeist, Вы писали:



J>>Есть запрос (request).

J>>Сначала получаем заголовки и параметры, проводим авторизацию,
J>>потом вызываем метод transform().
J>>Метод transform() выполняет операции с XML.
J>>Берем, например, SQL запрос — getXML("allpersonsquery")
J>>Заполняем параметры fillShablon("allpersonsquery", params)
J>>Получаем результат — processSQL("allpersonsquery", "allpersons")
J>>Получаем HTML — processXSLT("allpersons", "tohtmllist", "personslist")
J>>Метод get("personslist") возвращает HTML.

J>>Или processXSLT("mailshablon", params) и отправляем

J>>sendMail("mailshablon")

Z>Сразу замечу косяк. Данные у тебя остались за бортом. Т.е. все процессы работают с данными, но не получат их и не отдают, поэтому очень сложно понять, что происходит. Я понял лишь смутную мысль. В принципе похоже на то, что ты открыл для себя MVC, но утверждать не берусь.


Похоже, открыл MVC Или Spring. Или какой-то Joomla, Drupal, итд.

Общий вид такой — есть данные из Oracle, есть где-то (надо решить, где)
шаблоны, где-то есть SQL, трансформации, шаблоны, логика, которая заполняет,
трансформирует.

Напрашиваются какие-то диаграммы, чтобы что-то понять. UML, что ли?
Re[3]: Изобрел велосипед, что дальше?
От: hrensgory Россия  
Дата: 02.06.09 13:43
Оценка:
jeeist пишет:
>
> Spring — это конкретная технология, которую придется
> использовать, но, возможно, где-то есть литература про
> шаблоны, которые используют при авторизации или при
> составлении HTML документов из нескольких частей.

http://tiles.apache.org ?


--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Изобрел велосипед, что дальше?
От: Stormblast http://www.myspace.com/stormblastblack
Дата: 02.06.09 19:19
Оценка:
Здравствуйте, pvnic

P>сношать мой лысый череп...


эх отличную песню вспомнил http://www.realmusic.ru/songs/56160
Re: Изобрел велосипед, что дальше?
От: jeeist  
Дата: 03.06.09 06:51
Оценка:
Возможно, в какой-то книге Шаблоны J2EE или в MSDN есть
раздел о том, как реализовать авторизацию, используя фильтры?
(не помню название шаблона). Или как лучше соединять меню
веб-сайта с отдельными страницами?

Хочется сначала придумать, что и как делать, а только потом
подбирать фреймворк.

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

J>Изобрел велосипед, но еще не построил. Прежде чем

J>читать документацию по Cocoon, Spring, (речь идет о JavaEE)
J>хотелось бы узнать, где можно найти теорию или шаблоны, как
J>реализовать авторизацию, отделить общее HTML-содержание.
J>Книг много, но найти именно то, что нужно, пока не получается.
Re: Изобрел велосипед, что дальше?
От: Mike Chaliy Украина http://chaliy.name
Дата: 04.06.09 15:19
Оценка:
Здравствуйте, jeeist, Вы писали:

J>Изобрел велосипед, но еще не построил. Прежде чем

J>читать документацию по Cocoon, Spring, (речь идет о JavaEE)
J>хотелось бы узнать, где можно найти теорию или шаблоны, как
J>реализовать авторизацию, отделить общее HTML-содержание.
J>Книг много, но найти именно то, что нужно, пока не получается.

Без книг, просто погляди примерчики. У тебя простейшая задача которая решаеться стандарными средствами.
А тут я живу и пишу...
Re: Изобрел велосипед, что дальше?
От: jeeist  
Дата: 10.06.09 12:52
Оценка:
Продолжаю блог

В вузе много слышал о том, как правильно строить
иерархию классов согласно ОО, как правильно создавать
базы данных. Потом читал Буча, Лармана, Gang of 4, итд.

То есть понятно, как построить статическую структуру
классов и таблиц.

Но как правильно проектировать "динамику", то,
как обрабатываются запросы, разный "work-flow"?

Если неясно, что и как делать, изучение Spring и
других технологий не помогает.
Re[2]: Изобрел велосипед, что дальше?
От: Cyberax Марс  
Дата: 10.06.09 12:56
Оценка:
Здравствуйте, jeeist, Вы писали:

J>В вузе много слышал о том, как правильно строить

J>иерархию классов согласно ОО, как правильно создавать
J>базы данных. Потом читал Буча, Лармана, Gang of 4, итд.
Тяжёлый случай...

Посмотри теперь лучше как делаются реальные проекты.
Sapienti sat!
Re[3]: Изобрел велосипед, что дальше?
От: jeeist  
Дата: 10.06.09 13:03
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, jeeist, Вы писали:


J>>В вузе много слышал о том, как правильно строить

J>>иерархию классов согласно ОО, как правильно создавать
J>>базы данных. Потом читал Буча, Лармана, Gang of 4, итд.
C>Тяжёлый случай...

Имеется ввиду, что теория есть только по ОО и остальное
надо изучать только по реальным проектам?

Понимаю, что изучать реальные проекты надо, но без
теории обойтись по-моему нельзя?

C>Посмотри теперь лучше как делаются реальные проекты.
Re[2]: Изобрел велосипед, что дальше?
От: mazurkin http://mazurkin.info
Дата: 10.06.09 13:09
Оценка:
jeeist wrote:

> В вузе много слышал о том, как правильно строить

> иерархию классов согласно ОО, как правильно создавать
> базы данных. Потом читал Буча, Лармана, Gang of 4, итд.

Мои личные мысли на этот счет.

Я бы разделил два этапа в развитии ООП. К первому этапу я бы отнес такие
знания как

— Наследование/Полиморфизм/Инкапусуляция/Абстракция
— GoF patterns
— Шаблоны Буча
— Фреймворки

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

ООП не стало серебрянной пулей — куча проектов были также успешно
завалены, как и до использования ООП.

Поэтому умные люди стали вырабатывать новые, дополняющие принципы
разработки, которые дополняют старые. К таким я бы причислил навскидку
следующее.

— class coupling (!), class cohesion (!)
— Inversion of Control
— "Open for extension, closed for modification" principle
— Mutability/Immutability
— Single Responsibility Principle
— Law of Demeter
— Unit testing
— Services/Domain/DAO layers
— Domain driven design
— Interface driven design / Class contract

В некоторых случаях происходит переосмысление старых подходов. Например,
реализацию Singleton, как ее рисуют практически во всех книгах надо
зачеркнуть красным маркером и подписать: "Так делать нельзя!!!" —
поскольку нарушается сразу два принципа: нарушается Single
Responsibility principal (класс занимается двумя несвязанными вещами:
непосредственно своей функциональностью и управлением количеством копий;
а также уменьшается связность этого класса), для получения экземпляра
класса приходится обращаться к классу по имени (увеличивается связность).
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Изобрел велосипед, что дальше?
От: mazurkin http://mazurkin.info
Дата: 10.06.09 13:11
Оценка:
mazurkin wrote:

> а также уменьшается связность этого класса), для получения экземпляра

> класса приходится обращаться к классу по имени (увеличивается связность).

....... для получения экземпляра класса приходится обращаться к классу
по имени (увеличивается сцепление-coupling).
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Изобрел велосипед, что дальше?
От: jeeist  
Дата: 10.06.09 13:27
Оценка:
Здравствуйте, mazurkin, Вы писали:
M>- class coupling (!), class cohesion (!)
M>- Inversion of Control
M>- "Open for extension, closed for modification" principle
M>- Mutability/Immutability
M>- Single Responsibility Principle
M>- Law of Demeter
M>- Unit testing
M>- Services/Domain/DAO layers
M>- Domain driven design
M>- Interface driven design / Class contract

Да, но речь идет о структуре классов, а меня интересуют также потоки.

Т.е. на данный момент не получается понять или "визуализировать", как
"бегают между классами и слоями" данные или поток управления
"перемещается" по оперативной памяти. Хотя Ассемблер вроде бы изучал.

И нужно ли это. Хотя хочется нарисовать схему обработки HTML-запроса,
применить какую-то теорию, если это возможно.
Re[4]: Изобрел велосипед, что дальше?
От: mazurkin http://mazurkin.info
Дата: 10.06.09 13:29
Оценка:
jeeist wrote:

> И нужно ли это. Хотя хочется нарисовать схему обработки HTML-запроса,

> применить какую-то теорию, если это возможно.

Почитайте про MVC/MVP для начала
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Изобрел велосипед, что дальше?
От: jeeist  
Дата: 10.06.09 15:34
Оценка:
Здравствуйте, mazurkin, Вы писали:

M>jeeist wrote:


>> И нужно ли это. Хотя хочется нарисовать схему обработки HTML-запроса,

>> применить какую-то теорию, если это возможно.

M>Почитайте про MVC/MVP для начала


Вроде бы читал и про все популярные шаблоны, и про PHP без ООП,
но пока еще не придумал, как с их помощью решить задачу.

Помню, что вроде бы читал что-то про авторизацию на microsoft.com
или в книгах про ASP.NET, но тогда вопрос не был актуален.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.