Tổng quanquan vềvề Tổng MẫuMẫu thiết MẫuMẫu thiết
thiết kếkế HĐTHĐT thiết kếkế HĐTHĐT
GV. GV. Nguyễn
Nguyễn Minh Minh HuyHuy
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 1
NộiNội dungdung
thiết kếkế..
(cid:1)(cid:1) ÔnÔn tậptập HĐT.HĐT. (cid:1)(cid:1) GiớiGiới thiệu (cid:1)(cid:1) KýKý hiệuhiệu & & thuật
thiệu mẫumẫu thiết thuật ngữngữ..
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 2
NộiNội dungdung
thiết kếkế..
(cid:1)(cid:1) ÔnÔn tậptập HĐT.HĐT. (cid:1)(cid:1) GiớiGiới thiệu (cid:1)(cid:1) KýKý hiệuhiệu & & thuật
thiệu mẫumẫu thiết thuật ngữngữ..
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 3
ÔnÔn tậptập HĐTHĐT
tượng làlà gìgì??
(cid:1)(cid:1) ĐốiĐối tượng (cid:1)(cid:1) Chương
Chương trình
trình hướng
tượng?? hướng đốiđối tượng tượng?? (cid:1)(cid:1) KhaiKhai báobáo lớplớp vàvà sửsử dụngdụng đốiđối tượng
(cid:2)(cid:2) ChưaChưa đủđủ!!!!
(cid:1)(cid:1) CầnCần tuântuân thủthủ baba tínhtính chất (cid:1)(cid:1) CầnCần tuântuân thủthủ baba tínhtính chất
chất hướng chất hướng
hướng đốiđối tượng hướng đốiđối tượng
tượng!!!! tượng!!!!
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 4
ÔnÔn tậptập HĐTHĐT
(cid:1)(cid:1) BaBa tínhtính chất
hướng đốiđối tượng
tượng??
chất lậplập trình trình hướng (encapsulation) (cid:1)(cid:1) TínhTính đóngđóng góigói (encapsulation)
(cid:2)(cid:2) QuyQuy tắctắc hộphộp đenđen..
(cid:1)(cid:1) TínhTính kếkế thừa
(inheritance) thừa (inheritance) (cid:2)(cid:2) TáiTái sửsử dụngdụng cáicái cócó sẵnsẵn..
(cid:1)(cid:1) TínhTính đađa hìnhhình..
(cid:2)(cid:2) HàmHàm ảoảo + + liênliên kếtkết độngđộng..
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 5
ÔnÔn tậptập HĐTHĐT
(cid:1)(cid:1) MụcMục đíchđích củacủa lậplập trình
trình hướng
hướng đốiđối tượng
tượng??
(cid:1)(cid:1) GiảmGiảm thời
trình thời giangian vàvà côngcông sứcsức lậplập trình
dụng vàvà giảmgiảm phụphụ thuộc
(cid:3)(cid:3) GiảmGiảm gắngắn kếtkết mãmã nguồn (cid:3)(cid:3) TáiTái sửsử dụng (cid:3)(cid:3) Thích
(spaghetti code). nguồn (spaghetti code). thuộc càicài đặtđặt cụcụ thểthể.. nâng cấpcấp..
thay đổiđổi, , ddễễ bảobảo trìtrì, , nâng
Thích ứngứng thay
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 6
NộiNội dungdung
thiết kếkế..
(cid:1)(cid:1) ÔnÔn tậptập HĐT.HĐT. (cid:1)(cid:1) GiớiGiới thiệu (cid:1)(cid:1) KýKý hiệuhiệu & & thuật
thiệu mẫumẫu thiết thuật ngữngữ..
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 7
GiớiGiới thiệu
thiệu mẫumẫu thiết
thiết kếkế
thiết kếkế?? hướng đốiđối tượng
tượng mơmơ hồhồ, , khókhó hiểuhiểu..
(cid:1)(cid:1) VìVì saosao cócó mẫumẫu thiết chất hướng (cid:1)(cid:1) CácCác tínhtính chất thức.. (cid:1)(cid:1) NhuNhu cầucầu táitái sửsử dụngdụng tri tri thức
(cid:2)(cid:2) CầnCần cócó những
những bàibài giảigiải mẫumẫu..
(cid:1)(cid:1) MẫuMẫu thiết
thiết kếkế Gang of Four ( Patterns): Gang of Four (GoFGoF Patterns): OOPSLA 1994. tại OOPSLA 1994. (cid:3)(cid:3) Ra Ra đờiđời tại (cid:3)(cid:3) 23 23 bàibài giảigiải mẫumẫu chocho những
những vấnvấn đềđề thiết
thiết kếkế thường
thường gặpgặp..
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 8
GiớiGiới thiệu
thiệu mẫumẫu thiết
thiết kếkế
(cid:1)(cid:1) PhânPhân loại
loại mẫumẫu thiết
thiết kếkế GoFGoF::
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 9
GiớiGiới thiệu
thiệu mẫumẫu thiết
thiết kếkế
(cid:1)(cid:1) CấuCấu trúctrúc mộtmột mẫumẫu thiết
thiết kếkế:: (pattern name, summary). (cid:1)(cid:1) TổngTổng quanquan (pattern name, summary). (motivation). (cid:1)(cid:1) BàiBài toántoán (motivation). (cid:1)(cid:1) LờiLời giảigiải::
(applicability). dụng (applicability).
cảnh ápáp dụng
(cid:3)(cid:3) NgữNgữ cảnh (structure). (cid:3)(cid:3) SơSơ đồđồ lớplớp (structure). phần cấucấu thành thành phần (cid:3)(cid:3) CácCác thành
(participants). thành (participants).
(cid:1)(cid:1) BànBàn luậnluận::
(consequences). khuyết (consequences).
(cid:3)(cid:3) ƯuƯu, , khuyết (cid:3)(cid:3) CáchCách càicài đặtđặt hiệuhiệu quảquả (implementation/sample code). (implementation/sample code). (cid:3)(cid:3) ÁpÁp dụng
(known uses). thực tếtế (known uses).
dụng thực
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 10
GiớiGiới thiệu
thiệu mẫumẫu thiết
thiết kếkế
(cid:1)(cid:1) Hướng
Hướng phátphát triểntriển:: thiết kếkế mớimới..
tránh (anti
(cid:1)(cid:1) MẫuMẫu thiết (compound patterns). (cid:1)(cid:1) MẫuMẫu kếtkết hợphợp (compound patterns). (anti--patterns, code smells). (cid:1)(cid:1) MẫuMẫu nênnên tránh patterns, code smells). (analysis patterns). (cid:1)(cid:1) MẫuMẫu phânphân tíchtích (analysis patterns).
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 11
NộiNội dungdung
thiệu mẫumẫu thiết
(cid:1)(cid:1) ÔnÔn tậptập HĐT.HĐT. (cid:1)(cid:1) GiớiGiới thiệu (cid:1)(cid:1) KýKý hiệuhiệu & & thuật
thiết kếkế.. thuật ngữngữ..
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 12
KýKý hiệuhiệu & & thuật
thuật ngữngữ
(cid:1)(cid:1) KýKý hiệuhiệu UML:UML:
tượng:: (cid:1)(cid:1) LớpLớp đốiđối tượng Thuộc tínhtính, , phương
thức.. phương thức
(cid:3)(cid:3) Thuộc (cid:3)(cid:3) TầmTầm vựcvực.. (cid:3)(cid:3) ChúChú thích
thích mãmã giảgiả..
(cid:1)(cid:1) KếKế thừa (cid:1)(cid:1) KếKế thừa
thừa (IS(IS--A):A): thừa (IS(IS--A):A): Reuse vs. Override. (cid:3)(cid:3) Reuse vs. Override. (cid:3)(cid:3) HàmHàm thuần thuần ảoảo.. (cid:1)(cid:1) BaoBao hàmhàm (HAS
(HAS--A).A).
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 13
KýKý hiệuhiệu & & thuật
thuật ngữngữ
(cid:1)(cid:1) Thuật
Thuật ngữngữ:: Interface: (cid:1)(cid:1) Interface:
vs. type. Implemention vs. type.
type. class vs. Sub--type.
time. time vs. run--time. coded. coded vs. soft--coded. coded vs. soft--coded. coded.
(cid:3)(cid:3) Implemention (cid:3)(cid:3) SubSub--class vs. Sub Complie--time vs. run (cid:1)(cid:1) Complie (cid:1)(cid:1) HardHard--coded vs. soft HardHard--coded vs. soft Composition (wrapper): (cid:1)(cid:1) Composition (wrapper):
Static reuse vs. dynamic reuse. (cid:3)(cid:3) Static reuse vs. dynamic reuse.
There is no free lunch! (cid:1)(cid:1) There is no free lunch!
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mẫu thiết kế hướng đối tượng & ứng dụng - Nguyễn Minh Huy 14