????????μ??????C?????????????????????A??B????????????C???????????
     ??B??A???й????????????
     ??????????????????????????????????????????????????????????????????????????κ??????ε??????????????ε????????????????????????????????Σ??????????????????????Щ?????ε????????????????ε???????????и?setSide??getSide????????????ε????????????????????LSP??

???????????????ε?????????ε?????????????????????????????δ?????μ?У?????????????????width????height??????????width????height??????????width??height???????????????????????????У?width??height????????.????????????и???????????и????????????????????????????????ε???????????????????????????????????????????????????????????????????????Σ???????е??á?????LSP???????????滻?????????????????????????????????????????width??height??????????????????н????????????????????????????滻?????????????????????仯??????????LSP??

?????????????????????????????????????????????????????κ??????ι???????????????????????棬?ó????κ??????ζ???????????????OK???????????κ??????Σ??width??height????????????????????width??height?????????????????????????????????ε????????????????и???????????????????????????????????????????LSP??????????

???????????????????????????У??????????????С???????е??????????????????????????????????е???????????????????????????????????????????????????????????????????????

??????????????(DIP)

???????????????????.
(1) ????:????????????????????????????????.(Program to an interface?? not an implementaction)

(2) ??????:?????????????????????y??????????б???????????????????????????????????????????????????????????????????.???????????????????????????t???????б?????????????????????????????????????????????????????????????????.
   ????????????????????????????????????????????????????????????????????????.
   ????????????????????????????????κ??????????????ó??????????????????????????????????????????????????????????????????.

(3) ????????????????????????????Щ??????????????????????????????????????????.?????????????????????μ???巽??????????е?????????????????????????μ???巽????????????????????.????????????????????μ??????????????????????????????????????????????????????????????????????.????????????????.

(4) ???????????????????????????????????????????????????????????????????е?????У?????????????????????????????????????У??????????????????幤???Ч???????.
   ???????????????????κ??????????????????漲??????????????????????????????????????????????????.

(5) ????????????????????????????????????????????????????????????????????????????????????????????????У?????????????????м??????????????y??????.
   ???????????е???????????????????????????????????????????????????п???????????????.?????????????????????????ü????????????????????????????????????????μ???????????????????????????????????????е????г????????????.

(6) ???????????????????????????????????????????????????????????.???????????????????????????????????????????????????????????.

(7) ??????y????????:
   ?????????????????????????????????????????????????????????????????????.
   ???????????????????????е??????????????????????????????????????????????.???????????????????????????????????????????????????????????????.????????????????????????????????????????????е???;????????????????????????????????Щ??????????????????????????????????????Щ???????????;?????????????????μ?????????????????????????????????????????????????????????????м??????????????????????????????????????巽??.?????????????????(Defaule Adapter).

(8) ??????????????????????????????Щ??????????????????????. ?????????????(????).