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