Изобрел велосипед, но еще не построил. Прежде чем
читать документацию по Cocoon, Spring, (речь идет о JavaEE)
хотелось бы узнать, где можно найти теорию или шаблоны, как
реализовать авторизацию, отделить общее HTML-содержание.
Книг много, но найти именно то, что нужно, пока не получается.
Здравствуйте, pvnic, Вы писали:
P>Здравствуйте, jeeist, Вы писали:
P>Spring in action почитай.
Spring — это конкретная технология, которую придется
использовать, но, возможно, где-то есть литература про
шаблоны, которые используют при авторизации или при
составлении HTML документов из нескольких частей.
По-моему, я что-то уже читал, но тогда еще мало что понимал.
По этому обращаюсь именно в форум "Архитектура программного обеспечения".
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")
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, но утверждать не берусь.
Здравствуйте, 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, что ли?
jeeist пишет: > > Spring — это конкретная технология, которую придется > использовать, но, возможно, где-то есть литература про > шаблоны, которые используют при авторизации или при > составлении HTML документов из нескольких частей.
Возможно, в какой-то книге Шаблоны J2EE или в MSDN есть
раздел о том, как реализовать авторизацию, используя фильтры?
(не помню название шаблона). Или как лучше соединять меню
веб-сайта с отдельными страницами?
Хочется сначала придумать, что и как делать, а только потом
подбирать фреймворк.
Не знаю, правильно ли я поступаю, но, если есть возможность,
я пытаюсь построить небольшой велосипед и только потом искать
фреймворк.
J>Изобрел велосипед, но еще не построил. Прежде чем J>читать документацию по Cocoon, Spring, (речь идет о JavaEE) J>хотелось бы узнать, где можно найти теорию или шаблоны, как J>реализовать авторизацию, отделить общее HTML-содержание. J>Книг много, но найти именно то, что нужно, пока не получается.
Здравствуйте, jeeist, Вы писали:
J>Изобрел велосипед, но еще не построил. Прежде чем J>читать документацию по Cocoon, Spring, (речь идет о JavaEE) J>хотелось бы узнать, где можно найти теорию или шаблоны, как J>реализовать авторизацию, отделить общее HTML-содержание. J>Книг много, но найти именно то, что нужно, пока не получается.
Без книг, просто погляди примерчики. У тебя простейшая задача которая решаеться стандарными средствами.
В вузе много слышал о том, как правильно строить
иерархию классов согласно ОО, как правильно создавать
базы данных. Потом читал Буча, Лармана, Gang of 4, итд.
То есть понятно, как построить статическую структуру
классов и таблиц.
Но как правильно проектировать "динамику", то,
как обрабатываются запросы, разный "work-flow"?
Если неясно, что и как делать, изучение Spring и
других технологий не помогает.
Здравствуйте, jeeist, Вы писали:
J>В вузе много слышал о том, как правильно строить J>иерархию классов согласно ОО, как правильно создавать J>базы данных. Потом читал Буча, Лармана, Gang of 4, итд.
Тяжёлый случай...
Посмотри теперь лучше как делаются реальные проекты.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, jeeist, Вы писали:
J>>В вузе много слышал о том, как правильно строить J>>иерархию классов согласно ОО, как правильно создавать J>>базы данных. Потом читал Буча, Лармана, Gang of 4, итд. C>Тяжёлый случай...
Имеется ввиду, что теория есть только по ОО и остальное
надо изучать только по реальным проектам?
Понимаю, что изучать реальные проекты надо, но без
теории обойтись по-моему нельзя?
C>Посмотри теперь лучше как делаются реальные проекты.
jeeist wrote:
> В вузе много слышал о том, как правильно строить > иерархию классов согласно ОО, как правильно создавать > базы данных. Потом читал Буча, Лармана, Gang of 4, итд.
Мои личные мысли на этот счет.
Я бы разделил два этапа в развитии ООП. К первому этапу я бы отнес такие
знания как
Вы, наверное, прошли первый. К сожалению, данные знания, при их
несомненной ценности никоим образом не говорят о том, каким же образом
строить и проектировать большие и сложные системы таким образом, чтобы
их дальнейшее сопровождение и модификация не были бы сплошным мучением.
ООП не стало серебрянной пулей — куча проектов были также успешно
завалены, как и до использования ООП.
Поэтому умные люди стали вырабатывать новые, дополняющие принципы
разработки, которые дополняют старые. К таким я бы причислил навскидку
следующее.
— 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 (класс занимается двумя несвязанными вещами:
непосредственно своей функциональностью и управлением количеством копий;
а также уменьшается связность этого класса), для получения экземпляра
класса приходится обращаться к классу по имени (увеличивается связность).
mazurkin wrote:
> а также уменьшается связность этого класса), для получения экземпляра > класса приходится обращаться к классу по имени (увеличивается связность).
....... для получения экземпляра класса приходится обращаться к классу
по имени (увеличивается сцепление-coupling).
Здравствуйте, 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-запроса,
применить какую-то теорию, если это возможно.
Здравствуйте, mazurkin, Вы писали:
M>jeeist wrote:
>> И нужно ли это. Хотя хочется нарисовать схему обработки HTML-запроса, >> применить какую-то теорию, если это возможно.
M>Почитайте про MVC/MVP для начала
Вроде бы читал и про все популярные шаблоны, и про PHP без ООП,
но пока еще не придумал, как с их помощью решить задачу.
Помню, что вроде бы читал что-то про авторизацию на microsoft.com
или в книгах про ASP.NET, но тогда вопрос не был актуален.