
CH NG 8:ƯƠ
CH NG 8:ƯƠ
Design Pattern
Design Pattern
1

Nôi dung
Nôi dung
2
Coupling la gi?
Cohesion la gi?
Pattern la gi?
GRASP la gi?

Coupling là gì?
Coupling là gì?
Coupling là 1 cách đ đo l ng xem ể ừơ
1 ph n t khi đ c k t n i thì nó có ầ ử ượ ế ố
kh năng “hi u bi t” đ n m c nào ả ể ế ế ứ
hay hoàn toàn phu thu c vào các ộ
ph n t khác. Ph n t có th là class, ầ ử ầ ử ể
subsystem, system…
M t ph n t có coupling th p (low ộ ầ ử ấ
coupling) nghĩa là nó không ph ụ
thu c nhiêu vào các ph n t khác. ộ ầ ử
3

Coupling là gì?
Coupling là gì?
M t l p có coupling cao s ph thu c ộ ơ ẽ ụ ộ
vào nhi u l p khác. Các l p này là ề ơ ơ
không nên dùng vì:
◦Nh ng thay đ i trong các l p có liên quan ữ ổ ớ
s làm cho l p nay cũng b thay đ i theoẽ ơ ị ổ
◦Khó hi u khi chúng b cô l pể ị ậ
◦Khó dùng l i vì nó đòi h i s hi n di n ạ ỏ ự ệ ệ
cua 1 s l p mà nó ph thu c vào ố ơ ụ ộ
4

Cohesion là gì?
Cohesion là gì?
Coupling đ c p đ n s t ng tác ề ậ ế ự ươ
gi a các đ i t ng thì cohesion đ ữ ố ượ ề
c p đ n s t ng tác bên trong 1 đ i ậ ế ự ươ ố
t ng. ượ
Cohesion là 1 cách đo l ng đ ườ ể
xem các nhiêm vu c a 1 ph n t có ủ ầ ử
quan h ch t ch v i nhau nh th ệ ặ ẽ ớ ư ế
nào?
M t ph n t có trách nhi m t ng ộ ầ ử ệ ươ
đ i cao, và không ph i làm quá nhi u ố ả ề
vi c đ c xem là có cohesion cao ệ ượ
(high cohesion) 5

