Relevance of design patterns within web applications
©2010
Bachelorarbeit
85 Seiten
Zusammenfassung
Inhaltsangabe:Abstract:
In 1994 the Gang of Four, consisting of Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, published the book Design Pattern - Elements of Reusable Object-Oriented Software. Within that book the four information scientists described 23 design patterns, which they classi?ed into the categories Creational Design Pattern, Structural Design Pattern and Behavioral Design Pattern.
Even though design patterns exist since 15 years at present, they have not lost relevance. Due to new concepts the usage of design patterns within web application is increasing.
Meanwhile all 23 established design patterns are available as PHP implementations. Aside web languages like AJAX, JavaScript, XHTML and CSS also appreciate the strength of design patterns.
At first web languages like AJAX, PHP, et cetera will be analyzed if they qualify for the usage of design patterns. At second the usage of design patterns within open source web applications like Typo3, Joomla, Wordpress, et cetera will be examined. At third various web developers of 1&1, web.de, Telekom, et cetera will be interviewed to investigate if and in which amount design patterns are used by companies.
Intention of this thesis is to determine the relevance of design pattern within web applications. Thereby advantages will also be shown like disadvantages. Also the question, if design patterns should be used by default or only if the concerning project reached a specific size, will be answered. Inhaltsverzeichnis:Table of Contents:
Abstracti
Prefaceii
1.Introduction1
2.Analysis of web programming languages2
2.1Definition of recognition characteristics3
2.1.1Regular classes4
2.1.2Abstract classes5
2.1.3Static attributes and methods6
2.1.4Scopes7
2.1.5Inheritance through expansion8
2.1.6Inheritance through implementation9
2.2Examination of de?ned characteristics10
2.2.1ActionScript11
2.2.2AJAX/JavaScript13
2.2.3ASP15
2.2.4PHP17
2.2.5Ruby19
3.Analysis of open source applications21
3.1Definition of recognition characteristics22
3.1.1Analysis by hand23
3.1.2Analysis by recognition characteristics24
3.1.3Analysis by UML to code generator26
3.1.4Analysis by manuals27
3.2Examination of de?ned characteristics28
3.2.1Coppermine Photo Gallery29
3.2.2Drupal31
3.2.3phpBB33
3.2.4WordPress34
3.2.5Zend Framework35
4.Examples of design patterns37
4.1Model View Controller Pattern38
4.2Intercepting Filter Pattern40
4.3Registry Pattern42
4.4Template View […]
In 1994 the Gang of Four, consisting of Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, published the book Design Pattern - Elements of Reusable Object-Oriented Software. Within that book the four information scientists described 23 design patterns, which they classi?ed into the categories Creational Design Pattern, Structural Design Pattern and Behavioral Design Pattern.
Even though design patterns exist since 15 years at present, they have not lost relevance. Due to new concepts the usage of design patterns within web application is increasing.
Meanwhile all 23 established design patterns are available as PHP implementations. Aside web languages like AJAX, JavaScript, XHTML and CSS also appreciate the strength of design patterns.
At first web languages like AJAX, PHP, et cetera will be analyzed if they qualify for the usage of design patterns. At second the usage of design patterns within open source web applications like Typo3, Joomla, Wordpress, et cetera will be examined. At third various web developers of 1&1, web.de, Telekom, et cetera will be interviewed to investigate if and in which amount design patterns are used by companies.
Intention of this thesis is to determine the relevance of design pattern within web applications. Thereby advantages will also be shown like disadvantages. Also the question, if design patterns should be used by default or only if the concerning project reached a specific size, will be answered. Inhaltsverzeichnis:Table of Contents:
Abstracti
Prefaceii
1.Introduction1
2.Analysis of web programming languages2
2.1Definition of recognition characteristics3
2.1.1Regular classes4
2.1.2Abstract classes5
2.1.3Static attributes and methods6
2.1.4Scopes7
2.1.5Inheritance through expansion8
2.1.6Inheritance through implementation9
2.2Examination of de?ned characteristics10
2.2.1ActionScript11
2.2.2AJAX/JavaScript13
2.2.3ASP15
2.2.4PHP17
2.2.5Ruby19
3.Analysis of open source applications21
3.1Definition of recognition characteristics22
3.1.1Analysis by hand23
3.1.2Analysis by recognition characteristics24
3.1.3Analysis by UML to code generator26
3.1.4Analysis by manuals27
3.2Examination of de?ned characteristics28
3.2.1Coppermine Photo Gallery29
3.2.2Drupal31
3.2.3phpBB33
3.2.4WordPress34
3.2.5Zend Framework35
4.Examples of design patterns37
4.1Model View Controller Pattern38
4.2Intercepting Filter Pattern40
4.3Registry Pattern42
4.4Template View […]
Leseprobe
Inhaltsverzeichnis
Niels Lange
Relevance of design patterns within web applications
ISBN: 978-3-8428-1561-2
Herstellung: Diplomica® Verlag GmbH, Hamburg, 2011
Zugl. Hochschule Furtwangen, Furtwangen, Deutschland, Bachelorarbeit, 2010
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte,
insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von
Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der
Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen,
bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung
dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen
der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik
Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich
vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des
Urheberrechtes.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in
diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme,
dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei
zu betrachten wären und daher von jedermann benutzt werden dürften.
Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können
Fehler nicht vollständig ausgeschlossen werden und der Verlag, die Autoren oder
Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für evtl.
verbliebene fehlerhafte Angaben und deren Folgen.
© Diplomica Verlag GmbH
http://www.diplomica.de, Hamburg 2011
01234563
789
8
8
!##$
%'
#$'
(
)
888%
)
8*'
%(+,'
%
,-./01
23
3
/456
/7/3
08/096
/:9;
/3
4:1
/3
/=
3
?/@A
8
,-
+
8
#
8
8
%
,%BC%
8( 8
D
E'
F%
8
G/3
1
6./01
23
3
/3
3
6./01
23
4
3
/8%H/IJ1
6./01
23
3
/@
K!*$L
M
N8
+
%
8( 8O
89PE ( 8
E
N8'
'
N8@
Q+8D8(
+%
8( 8D
8D,(('
8
8
8@
R8D
'
'
'BC,'
%%
8( 8 N
'
,'
SS
#('
#8
8@
T
%D,'
8+'
-T)TU)NV
(UWRX8%YVV'
((
8
%
8( 8@
TF D,'
8+'
-T)TUSS D
'
',8'
EZ%
E[+'
E
+%
8( 8@T8%
+%
8( 8D
8(8+ D,
(('
8'
-WE(C)#'
A %( D
'
',O#
8%@T
%N
+
D,%N'
( 9\9D,@
%W'
-# D
'
',
8 N
D%
8N
8%
8D
#+8%
8( 8 +%,E#(8
@
788
8
% #
8
'
N8%
8( 8D
8D,(]
('
8@W
,E%N8D
'
''
,
D8'
-%
%N8@T'
[+
8
%
8( 8
+'
%,+%,E%
+'
8'
E
8 8
8( ^
%
(
F
ZD
'
',8D %@
0123
452
67
89
7
7
9
88
7
97
9
7
7
98
8
7
99
!8
7
8
8
97
7
987
97
!8
#8#7
8$7
9%7
8
8
97
7
987
97
89#
8
7
9
8
7
687
8
7
9
8
'8
!
8(
8
7
9
8
88
7
7
9
97
9
)
7
(
8
7
7
7
7
9
9
8
7
7
012345
6
789
9
9
988989
89
8
899
9
89
9
9
8
9
8
9
89
97
8
9
8 9999
89
9
8
89
89
889
9
8989
9
99
!!#$#%
9
9
01234235
6789
9
9
9
6
8
87
8
!#$%
%
'$'()*'+$%
%
'$*,-)-*)%
.%
*. /
0+12
-)*2
-... 3
45.)-**2
-... 6
/ 7-%
*-)%
51.-$89,'8. :
3 7*';.
6 =$,)%
-$*,)'1+,;-$.%
'$ ?
: =$,)%
-$*,)'1+,%
9;2
9$-%
'$ @
A-9%
$-%
'$'(8#$8*,-)-*)%
.%
*. B
4*%
'$7*)%
;
4C4DEC-F-7*)%
; /
/ 47G 6
3 GHG
6 015I @
J 6
8
88
9
8
/
!#$%
%
'$'()*'+$%
%
'$*,-)-*)%
.%
*.
/
4$-2
I.%
.5I,-$8 /
/
4$-2
I.%
.5I)*'+$%
%
'$*,-)-*)%
.%
*. 6
/
/ 4$-2
I.%
.5IKLM'*'8+$)-')
/
3 4$-2
I.%
.5I9-$1-2
. ?
/
A-9%
$-%
'$'(8#$8*,-)-*)%
.%
*. @
/
N';;)9%
$G,''O-2
2
)I /B
/
!)1;-2 /
/
/ ;,;PP /3
/
3 Q')8G).. /6
/
6 R$8S)-9T')U /:
V WX
88
99
8
JY
3
L'82Z%
TN'$)'2
2
)G-)$ /@
3
=$)*;%
$+S%
2
)G-)$ 3
%
F
01
2 3456
789
8849
111111111111111111111111111111111 02
01
0 4
846
48849
11111111111111111111111111111 0
01
6
44
498849
1111111111111111111111111111111 0
!#
$%
'
1
( )4*
6
86
+
+,8-46
./6
9
./4786
+
7 11111111111111111111111 0
1
1 23
/86
+
+,8-46
./6
9
./4786
+
711111111111111111111111 (
4 567#
%8
6
91
( :+
;
/76
+
+,4
5/54947/
8711111111111111111111111
91
1 :+
;
/76
+
+,+4
7+/9;4
6
;86
+
947/
87 11111111111111111 9
91
2 :+
;
/76
+
+,4=434
+497/934
11111111111111111111111
91
0 6
+9=7111111111111111111111111111111111111 ?
@8
!#
8
AB$C
4D
3
01
234561
789
2
!!
#$%%
'
($)
*
+
,-
./
0.
%
1
)
*
)
*2
3
4
01234567839
52
!##
$
%
!
'()
#
!*
+
,
!
-
.
/01
//2!
3
4056 7-
# 8
%
-
.!
9
:##)
;
#);
++=
) ?@ABCDBEF)
GHIJ
A@K?L
L
HF@IMNO
HPH@L
IBCQHEI?RO
HSRT
HUL
MSFJ
H@L
HVWBC
L
X?FH
1:=;0Y2!Z
# !6
#
#
36[ [
%
!
Z
!Z8
!Z%
!Z
.#
#
!3
.
!
'
01234
567
689
837
2
4
3236
!!!
#
$%
$
! !'
$
()*
+$%!!**
+,
!$
%
#
$+% !-./01
2
1
30345.63701
2
1
306895962
.51
:2
1
6:;9=1
092
1
3034./0.
6895962
.51
:2
1
6:,?
! !'$
()$ $%!!**
+
! +
!,?
!'$
!*
$
*+ $%!!**
++! ! !
'
! +% !,
@
01
234567
87
969
49
67
87
96847
87
!#$#
$%
$$#
'()*+#,,-
#$
##
!.%
./
$
%
0#1',
2#,
$#34
#%
./
$#+,
$,
#
!#$#
$%
$$,
%
,
$#3
5%
.
#
$#-#
#
35#
#.
%
%-,
%
%
$#$
##
,
%
6
78$%
#%
74!#%
79
#
!,,
79
7+#
#$:
7+#
#$
%
;
01
21
234567
89
7
84
!#
$%!
'()*
+
,
-
.
/(0*
.
.
'
.
.
%
'
..
1
+
!
'()*2(3*
..
'
.
#
'
4
5
678
979:4
;
=6979;
;
7?7@;
9-
'
.
2(3*
...
A
..
'
-
.
1
'1
.
.1
B
CDEFGHIGJKLDMMNKE
!
OP
Q
OP
RMSNKLDMMNKE
.
T
P.
.
.
O
B
CDEFGHIGJKLDMMNKE
-P
RMSNKLDMMNKE
A
UA
0
01
21
0345678969
8555
!
#
$%
$
'(
!
)*+,-$(
).
+/-$%
$%
$%
#
!
)0%+1-$
(
2
34567897:;4==;5
%?@
@
@A
B
@?0
@?
@
0
@(
0
C=D;4==;5
%
A
@E
?
@B
@BFG
@(
FG
H
$
(
2
34567897:;4==;5
A
@F
@*
C=D;4==;5
I
JI
K
01
21
345657
865597
5
65
!
!
!
!
#
$%
'!
%
( !
(( $%(%!
%$ )*
%+
,
-
!
$%
!
!
$. %!
$#/0123!
!
!
$#
$!
!
$$($%+
%$$%$!
$$!
!
$%(%/44123$5 (6 !
$$%(
($%.!
$7 !
!
!
!
!
$8
9:/44123
;=
!
#%6(
?$
*$!
$!
!
!
/@.1A3$%!
+ !
$
*6!
!
$
$!
$B+$!
C$ %* $!
$!
$
(( !
+
/0123
%%%%+
$!
$)!
!
-
!
#
+ !
. %!
$#/@.1A3!
!
$!
$$+
!
$$
!
$$!
+
!
5!
!
?(
($!
$
!
$# $!
(( $%(%D
EFGHIJKILMNFOOPMG
7!
$#
$
QORPMNFOOPMG
B+$:!
!
$# $!
(
($%!
$*B!
!
!
!
$#
!
(( $%(%D
EFGHIJKILMNFOOPMG
8%
QORPMNFOOPMG
8 $S$
TU#!
*
2
01
21
3456789
!
#
!
$
%
!
'
$
(
)*'
+
'
,
,
-
'
./0123
$
4567
8
9:4;=
9=
?4;8
@A=
).# 0B2
'
'
.CC012
'
$
D
'
#
'
'
:
.!0E2
F.D)0G23
'
.CC012
(
'
'
'H
IJKLMNOMPQRJSSTQK
U::#
:#
:V
'W
:V:)(
:U:U
:X:X:Y:Y
:% :*:
*Z:!
:!:!:
Y:-
[S\TQRJSSTQK
W:)Y:] )
:UV
:X
U
:
W
:
-
:-
D
B
01
21
3456789
57
68
6759
5
!
#
$#
%##'%
'($$%(#%)*
#
##
($''
+,#
$#$)##$-
.#/
$#0($%
$%1#-
-$%/
$
'(-
#'#$
+
,
%%)$(#,1
-
-$2#$-
%#-
2$#$%(#%
#
$##0($%
1
-
#,1
-
-$2#$-
2$#(%%
)
-
#%
#
$#
'(-
#'#$
#
-
-
1
%)$(#+3%#
#
$##0($%
#2#41#0#%
%##%5
%$4+,
'
41
6#%7!$%)-
$%%$
%$-
-$$#
%
%
%%(#-
$%%
+88 !9'%$#0(#%%
$$#$$%)-
$%%
%$-
1$4%
' #%$'#
4(#$%
%%(#-
$%%+3##
#$%)-
$%%$$-
1$4%)#%#
%#$%
%%(#
-
$%%+3
%-
%
%9'#)46#%7!1$'#%
%#%)%
#(
(-
#+
:$;!$-
%9'%
%-
%
$%((-
#'#%$$%)-
$%%$)#%((#
1
$
$-'#')#%+
/=!
%(%%
)
-
4
%#%%#
$-%(#
$-
.#
#%2
-
-
%$-
$%%/
$
#
$#+/#
%##'%$
#
$#(/
#%#$
(%%
)
-
#%
$-
%$%
%(#9
#%+
?@!$#/#-
(#$%%#
)*
#'(%
%#$
#
$#+?@!$%$
#
$##%-
%
A#05
)-
#%#%+-
%6#%7!#''#%$
#
$#%-
)#$/
#
##$#
(%%
)
-
#%%+
3#
-
-
1
#%
($#%%#
#
$##0($%
B
CDEFGHIGJKLDMMNKE
)%$O$4P
#P
-
#PQ$
R#%(%
)
-
4PO$4:#PO-
41#
P
:#
$PS04P?$#P3#'(-
$#:#
TMUNKLDMMNKE
Q-
-
#P
/#R#PV'$
:#-
POQ-
-
#PR1V$$$#1$4P
3$)-
#V$$$#1$4
O#'##
-
-
1
#%
($#%$)#
'(-
#'##1
$1
%
#
$##0($%
B
CDEFGHIGJKLDMMNKE
Q'(%
#PV#$PS4(#
TMUNKLDMMNKE
5
W5
X
01
21
3456789
57
68
69
775
9
5
!
#$
$!! #
%
!'$$
'()
'*!
'
$!
$
!
(+
'
$!
$
,-
#
(
'./012
#
!-
#
3#
'
'%
(+#
$!
$
3
43
5
'*!
'
$!
$
3
#%
(6$
#
$!
$$
-
$!
$3
$!
$!
#
(7.87092
#
-
- (
./8:;02
-
!!'$ '
#
#!'$$
''
$!
$
(.= 02 4$*!
(.= 02
$$-
!
'
#
*
!
$(-'
#
!-
'!
?*
*
@A-=
!!-
5
#
3#
(+A-=
!-
!$
#
3(63
-
!-!
(
'.87092
B3!#
#
$
(64!
#
5
$
3 $$(6
#
3 $$!
!!!-3
$!
$
5
#
(7.87092
$
C
3(6 !
$
3
(63
#
$!
$
(6
!
7 D5
63!
'(63
5
-
#
$!
$
#
'
$
#
'(
6
'!
'
$!
$
E
FGHIJKLJMNOGPPQNH
R
#;!
3@R$$@S
3
'@+@T-@U*3@=@='3@
6$!
V@:
WPXQNOGPPQNH
-; @7V!!@7$
V
@-7
! @SR
@+5
!
'S
@6$!
:
@:
8
!
6#
'
'!
$!
$
'
E
FGHIJKLJMNOGPPQNH
S 3@!@R$!
@7 @U3!
WPXQNOGPPQNH
5
Y5
01
023456
7486
979
74486
86
!
#$%
% ''
!
$$
()
%
!
! * !
!
* %
% ''
!
(+,
!
!
%
!
%
!
!$'
$-
./
0
./1/231 0
./04
.4+4
.5
6 ,
!
!
%
-
.+
.7
!
$, !
.0
.) *
.0,$8$
9
$
%$
:!
%
!
! !
#' $
8(7
%
!
! * !
* ;
=
?@A,
!
(0$
%
!
!B '
CDE
F?GHIIE
JH
?K(9
$%
!
!$'
=
@DKL
;,
!
(7%
!
! * !
* MDHNKD==,!
(7
,
$!
, !
!
%
!
!B '
=OII?@?G
;DFDCKDFJ;H@HJ
D@
=
J=(
PQ
01
01
23456
7894
6
5
!#$%
$''()*$*
+$+,-
)$.+$+$+#,
,+.!$$.*$.+
$/001234
$5
$*$.+
$%65
7$$!
$5
)$8$+4
$.
.8,,9$67$
)$.!$
. $:
7!,#5
+
5
-
5
,$
)$ .$ %)
$!5
,-
)!5
$
.$)
$
#)4!5
$$)$,+)!5
$
.$)$$5
5
+8,,-
!5
$4;$+
8,,-
!5
$8,,9$6$+$
.$
!$. 8,, !5
$-
.$
''24$.$*$.+
$%68,, !5
$$+5
$+8,, !5
$-
.$$*$.+
$85
$$+8,,-
!5
$!5
$$ %)$685
$=5
$4
''*$.+
$!,#5
+?6
85
$$$.!
65
,
$$
.$
$)5
5$
$
6$!!5
$
)#/01345
$.$
5
$++6
85
$)
$$+ %)$685
$=5
$$+
!
.
@+
$,$+
$
#
.$!4''A*$.+
$!,#5
+
+6
85
$)
$$+
,
$+$
$+
-
6
./001234B$5
$85
$C)$5
$+49
6
*$.+
$
+,+
!4
148. $
.85
$$5
5
),5,,$
)5
5$$
.4,
.!5
.$
!
?
.
)$!
#5
D$+$$6
$EF7E..F$)$
$4*$+.
+65
!,+
!4
85
$G7)
)$5
$+
(1117$
$
HE*$+$+4$5
$
$
)
.$5
%I*J4
)
,
#
#5
$)$
+,+)
85
$*I
(11(485
$*I$5
#K
$+6.+5
$+4$5
$7
(11L785
$*I (11C)$
5
$+485
$*I(11C$
!(4
1)
)$#K
+
$+
6
+5
%
!4
14(11G+#%6*$.+
$7)
5
+
)5
+)
+%,++65
!4;,6
$.$
$.5
%+#
$+?
5
+$+K
#45
$+85
$A7)
$
$,6$
,
$+5
6
+$.4
M
NO
PQRSSO
TR
U
:,J,
)
!,+
++65
!$!!5
$
#,6$+5
+
/J,1C34
.$$
!#$6
.
5
$#$6
EVV
W$6$4$++65
!
$$!!5
$
+65
!$6$+5
4$.$
$$!!5
$
$!
?$
74
4#!
$#,)$?5
.
X,!49
!,+?)$+
,$
4$$5
.$$$5
5
$
#$+,
!,$)5
5$
$5. 64
+
/J,1C3$))$85
$?5
.
$
64?)$
$,
!,74
4#!
D
D?5
+4+)$
$65
%.6
.,6!
?5
.7!
$!
?#,
6
+X,$+/J,1C348,.$!
$55
.$#
.$
!,5
$+
$5
6)$4$#$+7Y
!!+7$5
+7.6+75
+7
Details
- Seiten
- Erscheinungsform
- Originalausgabe
- Jahr
- 2010
- ISBN (eBook)
- 9783842815612
- DOI
- 10.3239/9783842815612
- Dateigröße
- 4.1 MB
- Sprache
- Englisch
- Institution / Hochschule
- Hochschule Furtwangen – Digitale Medien, Online Medien
- Erscheinungsdatum
- 2011 (Juni)
- Note
- 1,85
- Schlagworte
- design pattern software architecture best practice application