ebook img

Применение шаблонов Java PDF

576 Pages·2002·22.748 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Применение шаблонов Java

ПРИМЕНЕНИЕ ШАБЛОНОВ JAVA Типовые решения для всех этапов разработки приложения • Рассмотрено 32 шаблона, в том числе 23 шаблона, знание которых обязательно для сдачи экзамена на сертификат Sun Certified Enterprise Architect v Описание использования шаблонов в API Java, включая API динамической подгрузки классов во время выполнения, обеспечения безопасности, AWT/Swing. RMI, JDBC™, J2EсEтTм и др. f Sun mcorisyestms С Е Р ИЯ J A VA от Sun Microsystems Press Стивен Стелтинг • Олав Маассен ПРИМЕНЕНИЕ ШАБЛОНОВ JAVA™ Библиотека профессиоиала APPLIED JAVA PATTERNS STEPHEN STELNTI G OLAV MAASSEN Sun Microsystems Press A Prentice Hall Title П Р И М Е Н Е Н ИЕ ШАБЛОНОВ JAVA™ Библиотека профессионала СТИВЕН СТЕЛТИНГ ОЛАВ МААССЕН Москва • Санкт-Петербург • Киев 2002 ББК 32.973.26-018.2.75 С79 УДК 681.3.07 Издательский дом "Вильяме" Зав. редакцией С.Н. Тригуб Перевод с английского под редакцией А.А. Чекаткова По общим вопросам обращайтесь в Издательский дом "Вильяме" по адресу: [email protected], http://www.williamspublishing.com Стелтинг, Стивен, Маасен, Олав. С79 Применение шаблонов Java. Библиотека профессионала. : Пер. с англ. — М.: Издательский дом "Вильяме", 2002. — 576 с.: ил. — Парал. тит. англ. ISBN 5-8459-0339-4 (рус.) Эксперты компании Sun Microsystems Стив Стелтинг и Олав Маассен создали практическое руководство, содержащее описание проверенных временем методов использования всех типов шаблонов, представляющих как собой целые архитектуры систем, так и отдельные простые классы применительно к платформе Java. В начале книги приведена история возникновения и развития шаблонов проектирования, а также рассматриваются методы эффективного применения этих шаблонов. Далее следует каталог шаблонов, сгруппированных по основным категориям: производя- щие, поведенческие, структурные и системные. Кроме того, авторы описывают шаб- лоны и соответствующие приемы их использования для основных API как языка Java, так и API, используемых при разработке распределенных приложений. Книга будет полезной как начинающим, так и опытным программистам Java, ос- ваивающим методику использования шаблонов проектирования, а экспертам в этой области может служить в качестве справочника. ББК 32.973.26-018.2.75 Все названия программных продуктов являются зарегистрированными торговыми марками со- ответствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разреше- ния издательства Prentice Hall, Ptr. Authorized translation from the English language edition published by Prentice Hall PTR, Copyright © 2002 Sun Microsystems, Inc. All rights reserved. No part of this hook may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher Russian language edition published by Williams Publishing House according to the Agreement with R&I Enterprises International, Copyright © 2002 ISBN 5-8459-0339-4 (рус.) © Издательский дом "Вильяме", 2002 ISBN 0-13-066190-2 (англ.) © Prentice Hall, Inc., 2001 Оглавление Введение 14 ЧАСТЬ I. ОБЩЕУПОТРЕБИТЕЛЬНЫЕ ШАБЛОНЫ 23 Глава 1. Производящие шаблоны 24 Глава 2. Поведенческие шаблоны 60 Глава 3. Структурные шаблоны 154 Глава 4. Системные шаблоны 218 ЧАСТЬ II. ШАБЛОНЫ В ЯЗЫКЕ ПРОГРАММИРОВАНИЯ JAVA 283 Глава 5. Использование шаблонов в языке программирования Java 284 Глава 6. Основные API языка Java 288 Глава 7. Технологии распределенной обработки данных 312 Глава 8. Архитектуры Jini и J2EE 326 Приложение А. Примеры 344 Приложение Б. Источники информации 544 Предметный указатель 549 Содержание Введение 14 Почему шаблоны? 14 История применения шаблонов 16 Основные концепции технологии шаблонов 17 Повторное использование и абстракция программного кода 18 Резюме 21 ЧАСТЬ I. ОБЩЕУПОТРЕБИТЕЛЬНЫЕ ШАБЛОНЫ 23 Глава 1. Производящие шаблоны 24 Введение 25 Abstract Factory 26 Builder 33 Factory Method 42 Prototype 48 Singleton 54 Глава 2. Поведенческие шаблоны 60 Введение 61 Chain of Responsibility 62 Command 71 Interpreter 79 Iterator 87 Mediator 95 Memento 105 Observer 111 State 120 Strategy 129 Visitor 136 Template Method 146 Глава З. Структурные шаблоны 154 Введение 155 Adapter 156 Bridge 164 Composite 171 Decorator 180 Facade 188 Flyweight 196 Half-Object Plus Protocol (HOPP) 201 Proxy 209 Содержание Глава 4. Системные шаблоны 218 Введение 219 Model-View-Controller (MVC) 220 Session 231 Worker Thread 241 Callback 248 Successive Update 258 Router 267 Transaction 274 ЧАСТЬ П. ШАБЛОНЫ В ЯЗЫКЕ ПРОГРАММИРОВАНИЯ JAVA 283 Глава 5. Использование шаблонов в языке программирования Java 284 Глава 6. Основные API языка Java 288 Обработка событий 289 JavaBeans 292 AWT и Swing — API графического пользовательского интерфейса 296 Базовая среда Collections 302 Ввод/вывод 305 Динамическая подгрузка классов 308 Глава 7. Технологии распределенной обработки данных 312 Java Naming and Directory Interface (JNDI) 313 JDBC 316 RMI 319 CORBA 321 Глава 8. Архитектуры JINI и J2EE 326 Jini 327 Java 2, Enterprise Edition (J2EE) 332 Сервлеты и JSP 336 Enterprise JavaBeans 339 Приложение А. Примеры 344 Системные требования 345 Производящие шаблоны 345 Поведенческие шаблоны 369 Структурные шаблоны 441 Системные шаблоны 491 Приложение Б. Источники информации 544 Предметный указатель 549 Моим родителям, близким и друзьям: спасибо вам за все. Жизнь прекрасна благодаря вам. Стив Стелтинг. Памяти Джоири Хаттерс. Значение жизни человека определяется тем, что он сделал для других. Олав Маассен. ПРЕДИСЛОВИЕ Почему мы написали эту книгу За время своей преподавательской практики мы неоднократно сталкивались с тем, что большинство программистов-практиков, изучающих язык программирования Java, не могут четко объяснить, что такое шаблоны проектирования. Только один из десяти слушателей может припомнить название нескольких самых популярных шаб- лонов. С другой стороны, концепции, на которых основаны те или иные шаблоны проектирования, хорошо знакомы многим программистам, поскольку стоило нам продемонстрировать эти шаблоны на занятиях, как их тут же узнавали многие наши слушатели. Поэтому мы решили создать нечто вроде каталога шаблонов проектирования для разработчиков, использующих язык программирования Java. Этот каталог, по нашему мнению, должен помочь, прежде всего тем разработчикам, которые хорошо понима- ют, какие преимущества дает применение шаблонов, и хотели бы работать с ними, но нуждаются в практическом руководстве, объясняющем, как и в каких случаях нужно применять тот или иной шаблон. Исходя из этого мы постарались написать книгу простым и понятным языком, а также привели полный текст всех рассмотренных в ней примеров, позволяющий получить полноценные работающие программы. Мы будем считать, что справились с этой задачей, если вы, прочитав эту книгу, не только ознакомитесь с шаблонами проектирования и языком программирования Java, но и получите от нее удовольствие. О чем эта книга Эта книга призвана дать вам основные сведения, необходимые для практического применения шаблонов проектирования при разработке реальных Java-приложений. Кроме того, в этой книге показано, в каких случаях и почему следует отдавать пред- почтение именно шаблонам проектирования, а не другим средствам API языка Java. Для кого предназначена эта книга Данная книга была написана прежде всего для опытных Java-программистов, ко- торые желают изучить прогрессивные методы разработки приложений. Поэтому, приступая к чтению, вы должны хорошо знать язык программирования Java и иметь хотя бы базовые понятия об основных прикладных программных интерфейсах (API) этого языка. Также вам будут полезны знания базовых понятий UML, хотя для работы

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.