الحياة والبرمجة كائنية التوجه
- 1. ﺍﻟﺭﺣﻳﻡ ﺍﻟﺭﺣﻣﻥ ﷲ ﺑﺳﻡ
ﻫﻭ ﺑﻣﺎ ﻋﻠﻳﻪ ﻭﺃﺛﻧﻲ ،ﺍﻟﺷﺎﻛﺭﻳﻥ ﺣﻣﺩ ﺃﺣﻣﺩﻩ ،ﻳﻌﻠﻡ ﻟﻡ ﻣﺎ ﺍﻹﻧﺳﺎﻥ ﻋﻠﻡ ،ﺑﺎﻟﻘﻠﻡ ﻋﻠﻡ ﺍﻟﺫﻱ ﺣﻣﺩ ہﻠﻟ
ﺑﺩﻋﻭﺗﻪ ﺩﻋﺎ ﻣﻥ ﻭﻛﻝ ،ﻭﺻﺣﺑﻪ ﺁﻟﻪ ﻭﻋﻠﻰ ،ﺍﻟﺧﻳﺭ ﺍﻟﻧﺎﺱ ﻣﻌﻠﻡ ﻋﻠﻰ ﻭﺍﻟﺳﻼﻡ ﻭﺍﻟﺻﻼﺓ ،ﺃﻫﻠﻪ
ﺍﻟﺩﻳﻥ ﻳﻭﻡ ﺇﻟﻰ ﺃﺛﺭﻩ ﻭﺍﻗﺗﻔﻰ.
")ﺍﻹﻧﺳﺎﻥ ﺑﺳﻳﻁ ﺑﺷﻛﻝ ﺍﻟﺗﻭﺟﻪ ﻛﺎﺋﻧﻳﺔ ﺍﻟﺑﺭﻣﺟﺔ ﻟﻣﻔﻬﻭﻡ ﺷﺭﺡ -- ﺍﻟﺗﻭﺟﻪ ﻛﺎﺋﻧﻳﺔ ﻭﺍﻟﺑﺭﻣﺟﺔ ﺍﻟﺣﻳﺎﺓ
" -- (ﺍﻟﺧﻠﻕ ﻣﻥ ﻛﻣﺛﺎﻝ
ﺟﻌﻠﻧﺎ ﺍﻟﺫﻱ ﺍﻟﻌﻅﻳﻡ ﺭﺏ ﺍﻟﻌﺎﻟﻣﻳﻥ ﻋﻠﻰ ﻛﻝ ﺃﻣﺭ ﻭﺣﺎﻝ، ﻭﺍﻟﺣﻣﺩ ہﻠﻟ ﻥ ﷲ ﺍﻟﻌﻅﻳﻡ، ﻭﺍﻟﺣﻣﺩ ہﻠﻟ
ﻭﻧﻧﻅﺭ ،ﻧﺗﻌﻠﻡ ﻣﺎ ﻓﻲ ﻧﺗﻔﻛﺭ ﺃﻥ ﻳﺟﺏ ﺃﻧﻧﺎ ﻭﺑﻣﺎ ،ﺍﻵﻟﻲ ﺍﻟﺣﺎﺳﺏ ﻣﺟﺎﻝ ﻓﻲ ﺍﻟﻌﻠﻡ ﻁﺎﻟﺑﻳﻥ ﻣﻥ ﺑﻔﺿﻠﻪ
ﺍﻟﺗﻁﻭﻳﺭ ﻧﺳﺗﻁﻳﻊ ﻭﻧﺷﺎﻫﺩﻩ ﻧﺭﺍﻩ ﺍﻟﺫﻱ ﺧﻠﻘﻪ ﻓﻲ ﺍﻟﺧﺎﻟﻕ ﺇﺑﺩﺍﻉ ﻭﻣﻥ ،ﻭﺇﺑﺩﺍﻋﻪ ﺗﻌﺎﻟﻰ ﷲ ﺧﻠﻕ ﺍﻟﻰ
ﻋﻠﻰ ﻭﺍﻟﺗﻌﺩﻳﻝ ﺍﻹﺑﺩﺍﻉ ﻧﺳﺗﻁﻳﻊ ﺃﻭ ،ﺣﻭﻟﻧﺎ ﻳﺩﻭﺭ ﺑﻣﺎ ﻓﻬﻣﻧﺎ ﺣﺳﺏ ﺍﻟﻌﻠﻭﻡ ﻣﻥ ﻛﺑﻳﺭﺓ ﻣﺟﻣﻭﻋﺔ ﻋﻠﻰ
ﻭﺍﻟﻧﻅﺭﻳﺎﺕ ﺍﻟﻭﺳﺎﺋﻝ ﻓﻬﻡ ﻧﺳﺗﻁﻳﻊ ﻭﺍﻟﻧﻅﺭ ﺍﻟﺗﻔﻛﺭ ﻫﺫﺍ ﺧﻼﻝ ﻭﻣﻥ ،ﺍﻟﻌﻠﻭﻡ ﻣﻥ ﻣﻭﺟﻭﺩ ﻫﻭ ﻣﺎ
ﺍﻟﺗﻲ ﺍﻟﻔﺎﺋﺩﺓ ﻣﻥ ﻭﺻﻔﻪ...ﻭﻟﻪ ﻧﺳﺗﻁﻳﻊ ﻻ ﻣﺎ ﻭﺍﻟﻣﺗﻌﺔ ﺍﻟﺭﻭﻋﺔ ﻣﻥ ﺍﻷﻣﺭ ﻭﻟﻬﺫﺍ ،ﻋﻣﻠﻬﺎ ﻭﺁﻟﻳﺔ ﺍﻟﻌﻠﻣﻳﺔ
!" ﻭﻋﻠﻣﻳﺎ ﺭﻭﺣﻳﺎ " ﺗﺧﻳﻠﻬﺎ ﻳﻣﻛﻥ ﻻ
ﺍﻟﺗﻭﺟﻪ ﺍﻟﻛﺎﺋﻧﻳﺔ ﻭﺍﻟﺑﺭﻣﺟﺔ ﺍﻟﺣﻳﺎﺓ " ﺑﻘﻛﺭﺓ ﺍﻟﻛﻼﻡ ﻫﺫﺍ ﻋﻼﻗﺔ ﻣﺎ ،ﺍﻵﻥ ﻭﺍﻟﺳﺅﺍﻝObject
Oriented!؟ "
) ﻛﻼﺱ ﺃﻧﻬﺎ ﻋﻠﻰ ﺍﻟﺣﻳﺎﺓ ﺍﻟﻰ ﻧﻅﺭﻧﺎ ﺇﺫﺍclassﺍﻝ ﻫﺫﺍ ﺃﻥ ﻭﻗﻠﻧﺎ (classﺍﻟﺗﻲ ﺍﻟﺣﻳﺎﺓ ﻳﻣﺛﻝ ﺍﻟﺫﻱ ﻫﻭ
) ﺍﻟﺩﻭﺍﻝ ﺃﻧﻬﺎ ﻋﻠﻰ ﺑﻬﺎ ﻧﻘﻭﻡ ﺍﻟﺗﻲ ﺍﻟﻌﻣﻠﻳﺎﺕ ﻛﻝ ﺍﻟﻰ ﻭﻧﻅﺭﻧﺎ ،ﺑﻬﺎ ﻧﺣﻳﺎmethodﻧﻘﻭﻡ ﺍﻟﺗﻲ (
- ﺍﻟﺣﻳﺎﺓ ﻟﻬﺫﻩ ﺍﻟﺧﺻﺎﺋﺹ ﺗﻣﺛﻝ ﺍﻟﺗﻲ ﺍﻟﻣﺗﻐﻳﺭﺍﺕ ﺍﻟﻰ ﻭﻧﻅﺭﻧﺎ ،ﻭﺍﻟﺣﺭﻛﺔ..ﺍﻟﺦ ﺍﻟﺗﻔﻛﻳﺭ ﻣﺛﻝ ﺑﺗﻧﻔﻳﺫﻫﺎ
property (attribute of life)ﺗﻌﺎﻟﻰ ﷲ ﻟﺧﻠﻕ ﺍﻟﻣﺷﺗﺭﻛﺔ ﺍﻟﺧﺻﺎﺋﺹ ﻣﺟﻣﻭﻋﺔ ﺃﻧﻬﺎ ﻋﻠﻰ -
ﻫﺫﺍ ﻭﺟﻣﻳﻊ ﻭﺃﻧﺕ ﺃﻧﺎ ،ﻧﺣﻥ ﺃﻧﻧﺎ ﻟﻭﺟﺩﻧﺎ ..ﺍﻟﺦ ﻭﺍﻟﺟﻧﺱ ﻭﺍﻟﺩﻳﻥ ﺍﻟﺑﺷﺭﺓ ﻟﻭﻥ ﻣﺛﻝ ﺍﻷﺭﺽ ﻫﺫﻩ ﻋﻠﻰ
ﺁﺧﺭ ﺃﻭ ﺑﺷﻛﻝ ﻧﻣﺛﻝ ﺍﻟﺧﻠﻕObjectﺿﻣﻥclass!... ﺍﻟﺣﻳﺎﺓ
- 2. ،ﺗﺭﺍﺏ ﻣﻥ ﻭﺁﺩﻡ ،ﺍﻟﺳﻼﻡ ﻋﻠﻳﻪ ﺁﺩﻡ ﻣﻥ ﺟﻣﻳﻌﻧﺎ ،ﺑﺷﺭ ﺟﻣﻳﻌﻧﺎ ﺃﻧﻧﺎ ﻛﻳﻑ ﻭﻻﺣﻅ ﺍﻟﺻﻭﺭﺓ ﺷﺎﻫﺩ
ﺗﻔﻛﻳﺭ ﻁﺭﻳﻘﺔ ﻟﺩﻳﻪ ،ﻭﻁﺑﺎﺋﻊ ﺧﺻﺎﺋﺹ ﻣﻥ ﻟﺩﻳﻪ ﺑﻣﺎ ﺧﺎﺻﺔ ﺣﺎﻟﺔ ﻳﻣﺛﻝ ﻣﻧﺎ ﺷﺧﺹ ﻛﻝ ﺃﻥ ﻻﺣﻅ
ﻳﺳﺗﻁﻳﻊ ﻻ ﻟﻛﻧﻪ ،ﺑﻬﻣﺎ ﻳﺳﻳﺭ ﻭﺣﺭﻛﺔ ﻭﺍﺗﺟﺎﻩ ﻣﻧﻔﺻﻠﺔ ﻭﻧﺗﻳﺟﺔ ﻣﻧﻔﺻﻠﺔ ﺇﺭﺍﺩﺓ ﻟﻪ ،ﻏﻳﺭﻩ ﻋﻥ ﺗﻣﻳﺯﻩ
ﺍﻟﺣﻳﺎﺓ ﻫﺫﻩ ﻓﻲ ﻟﻪ ﻭﺿﻊ ﻣﺎ ﻋﻥ ﻳﺧﺭﺝ ﺃﻥﺍﻝ ﺗﻣﺛﻝ ﺍﻟﺗﻲclassﺍﻝ ﻟﻪ ﻳﻧﺗﻣﻲ ﺍﻟﺫﻱobjectﻓﻼ
ﻣﺎ ﺳﻭﻯ ﺣﻳﺎ ﻳﺑﻘﻰ ﺃﻥ ﺍﻹﻧﺳﺎﻥ ﻳﺳﺗﻁﻳﻊ ﻭﻻ ،ﺍﻟﻬﻭﺍء ﻳﺗﻧﻔﺱ ﺃﻥ ﺩﻭﻥ ﺍﻹﻧﺳﺎﻥ ﻳﻌﻳﺵ ﺃﻥ ﻳﺳﺗﻁﻳﻊ
ﻟﻧﺎ ﻭﻳﺳﺭ ﺍﻹﺭﺍﺩﺓ ﺭﺯﻗﻧﺎ ﻣﻥ ﺳﺑﺣﺎﻥ ،ﺍﻟﺧﺎﻟﻘﻳﻥ ﺃﺣﺳﻥ ﷲ ..ﻓﺳﺑﺣﺎﻥ ! ﻣﻛﺗﻭﺏ ﻋﻣﺭ ﻣﻥ ﻟﻪ ﺣﺩﺩ
..ﺣﻣﺩ ہﻠﻟ ﻟﻪ ﺍﻟﻣﺳﻠﻣﻳﻥ ﻋﺑﺎﺩﻩ ﻣﻥ ﻧﻛﻭﻥ ﺃﻥ ﻭﻣﻧﻪ ﺑﻔﺿﻠﻪ ﻭﺭﺯﻗﻧﺎ ﺍﻹﺧﺗﻳﺎﺭ ﺣﺭﻳﺔ
ﺃﻧﻪ ﻋﻠﻰ ﺍﻟﻛﻭﻥ ﻫﺫﺍ ﻭﺗﺧﻳﻠﻧﺎ ،ﺍﻟﻛﻭﻥ ﻫﺫﺍ ﺍﻟﻰ ﻧﻅﺭﻧﺎ ﻟﻭ ﺍﻵﻥ ﻣﺎﺫﺍpackageﺍﻝ ﻫﺫﺍ ،package
ﺍﻝ ﻣﻥ ﺍﻟﻌﺩﻳﺩ ﻳﺣﺗﻭﻱclassﺍﻝ ﻫﺫﻩ ،classﺍﻝ ﻣﻥ ﺍﻟﻌﺩﻳﺩ ﺗﺣﻭﻱmethodﻭﺍﻝproperty
ﻭﺟﻭﺩ ﻓﺭﺿﻧﺎ ﻟﻭ ﻣﺎﺫﺍ ،ﻭﺍﻟﻣﺗﻌﺩﺩﺓ ﺍﻷﺣﺎﺩﻳﺔ ﺍﻟﻭﺭﺍﺛﺔ ﻣﺛﻝ ﻣﺗﻌﺩﺩﺓ ﻋﻼﻗﺎﺕ ﻓﻲ ﺗﺭﺗﺑﻁ ﻭﺟﻣﻳﻌﻬﺎAPI
ﻣﺛﻝ ﺍﻟﺧﺻﺎﺋﺹ ﺑﻌﺽ ﻣﻥ ﻭﺍﻹﺳﺗﻔﺎﺩﺓ ﺍﻟﻭﺻﻭﻝ ﻧﺳﺗﻁﻳﻊ ﻟﻛﻲ ﺷﺭﻭﻁ ﻟﻪ ﺍﻟﺣﻳﺎﺓ ﻫﺫﻩ ﻓﻲ ﻣﺗﺎﺡ
ﻣﻌﺭﻓﺔ ﺇﺳﺗﻁﻌﻧﺎ ﺍﻟﻌﻠﻡ ﺧﻼﻝ ﻣﻥ ،ﺍﻟﻛﻳﻣﻳﺎﺋﺔ ﺍﻟﻣﺭﻛﺑﺎﺕ ﺍﻟﻰ ﺍﻟﻭﺻﻭﻝ ﻟﻧﺎ ﺃﺗﻳﺢ ﻣﻌﻳﻥ ﻟﺩﻭﺍء ﻟﻠﻭﺻﻭﻝ
ﻫﺫﺍ ﻟﻧﺎ ﺗﻭﻓﺭ ﻭﻹﻧﻪ ﺍﻟﻣﻛﻭﻧﺎﺕ ﻫﺫﻩAPIﺩﻭﺍء ﺍﻟﻰ ﻭﻗﻭﻟﺑﺗﻪ ﺍﻟﻛﻳﻣﻳﺎﺋﻲ ﺍﻟﻣﺭﻛﺏ ﺍﺳﺗﺧﺩﺍﻡ ﺍﺳﺗﻁﻌﻧﺎ
...ﺍﻟﺦ ﻭﺗﺧﻳﻝ ﻭﺗﺧﻳﻝ ....ﺗﺧﻳﻝ
ﻭﺟﻭﺩ ﻓﺭﺿﻧﺎ ﻟﻭ ﻣﺎﺫﺍdesign patternﺍﻝ ﻣﺛﻝMVCﺗﻘﺳﻳﻣﻬﺎ ﻳﺗﻡ ﺍﻟﺣﻳﺎﺓ ﻫﺫﻩ ﺃﻥ ﻭﻗﻠﻧﺎ ،
modelﺍﻝ ﺧﻼﻝ ﻣﻥ ﺍﻟﻳﻪ ﺍﻟﻭﺻﻭﻝ ﻳﺗﻡcontrollerﺧﻼﻝ ﻣﻥ ﻳﻧﺎﺩﻯviewﻭﻧﺗﻌﺎﻣﻝ ﻧﺷﺎﻫﺩﻫﺎ
ﻫﺫﺍ ﻣﻌﻠﻭﻣﺎﺕ ﻟﻧﺎ ﻣﺧﺯﻥ ﻣﻌﻳﻥ ﺷﻛﻝ ﻟﻪ ﺟﺳﺩ ﻫﻧﺎﻙ ،ﺍﻷﺟﺳﺎﻡ ﺑﻧﺎء ﺭﻳﺎﺿﺔ ﻣﻣﺎﺭﺳﺔ ﻛﻣﺛﻝ ﻣﻌﻬﺎ
ﺿﻣﻥ ﺍﻟﺟﺳﺩmodelﺍﻝ ﻣﻥ ﻣﺟﻣﻭﻋﺔ ﻭﻫﻧﺎﻙmethodﺍﻝ ﺿﻣﻥ -CTRLﺗﻘﻭﻡ ﺍﻟﺗﻲ -
ﺍﻝ ﻗﻳﻡ ﻋﻠﻰ ﺑﺎﻟﺗﻌﺩﻳﻝmodelﺍﻝ ﺧﻼﻝ ﻣﻥ ﺑﻪ ﻧﺗﺻﺭﻑ ﻣﺎ ﻋﻠﻰ ﺑﻧﺎﺋﺎviewﻧﺎﺩﻱ ﺍﻟﻰ ﻛﺎﻟﺫﻫﺎﺏ
: ﺍﻷﻗﺩﺍﻡ ﻭﺇﻫﻣﺎﻝ ﻭﺍﻟﺗﺭﺍﻱ ﺍﻟﺑﺎﻱ ﻭﻋﺿﻠﺔ ﺑﺎﻟﺻﺩﺭ ﺍﻹﻫﺗﻣﺎﻡ ﺛﻡ ﻭﻣﻥ ،ﺍﻟﺣﺩﻳﺩPﺑﺎﻝ ﺍﺗﺻﺎﻝ ﻭﺍﻟﻧﺗﻳﺟﺔ
methodﻋﻠﻰ ﺗﺣﺩﻳﺙ ﻳﻌﻧﻲ ﻣﻣﺎ ،ﺍﻷﻗﺩﺍﻡ ﺑﻌﺿﻼﺕ ﺍﻹﺗﺻﺎﻝ ﺩﻭﻥ ﺍﻟﻌﺿﻼﺕ ﺗﻠﻙ ﺗﻧﻣﻲ ﺍﻟﺗﻲ
ﻧﻛﻭﻥ ﻗﺩ ﺃﻧﻧﺎ ...ﻭﺍﻟﻧﺗﻳﺟﺔ ﻣﺗﻧﺎﺳﻕ ﻏﻳﺭ ﺭﻳﺎﺿﻲ ﺟﺳﺩ ﻭﺍﻟﻧﺗﻳﺟﺔ ﺍﻷﻗﺩﺍﻡ ﺩﻭﻥ ﺍﻟﻌﺿﻼﺕ ﻣﻌﻠﻭﻣﺎﺕ
ﺿﻣﻥMVC...ﺍﻟﺦ ﻭﺗﺧﻳﻝ ﻭﺗﺧﻳﻝ ﺗﺧﻳﻝ ،ﺁﺧﺭ ﻧﻅﺎﻡ ﺿﻣﻥ ﺃﻳﺿﺎ ﻧﻛﻭﻥ ﻭﻗﺩ
- 3. ﻟﻳﺳﺕ ﻟﻛﻧﻬﺎ ﺟﻳﺩﺓ ﺯﺍﻭﻳﺔ ﻣﻥ ﻧﻧﻅﺭ ﻛﻧﺎ ﺃﻧﻧﺎ ﺷﺎﻫﺩﻧﺎﻩ ﺍﻟﺫﻱ ﻭﺍﻟﺗﺧﻳﻝ ﺍﻟﻛﻼﻡ ﻫﺫﺍ ﺑﻌﺩ ﺃﻧﻧﺎ ﺗﺧﻳﻝ
ﻳﻣﻛﻧﻧﺎ ﺍﻟﺗﻭﺟﻪ ﻛﺎﺋﻧﻳﺔ ﺍﻟﺑﺭﻣﺟﺔ ﻣﻥ ﺃﺟﻣﻝ ﺃﻣﺭ ﻫﻧﺎﻙ ﺃﻥ ﻭﺗﺧﻳﻝ ،ﺍﻟﺣﻳﺎﺓ ﻟﺗﺧﻳﻝ ﺍﻟﺻﺣﻳﺣﺔ ﺍﻟﺯﺍﻭﻳﺔ
ﻳﻣﻛﻧﻧﺎ ﺃﺳﻠﻭﺏ ﺍﻟﻛﻭﻥ ﻫﺫﺍ ﻣﻥ ﻫﻧﺎﻙ ﺃﻥ ﺗﺧﻳﻝ ،ﺍﻟﻛﻭﻥ ﻫﺫﺍ ﻓﻲ ﺗﻌﺎﻟﻰ ﷲ ﺧﻠﻕ ﺧﻼﻝ ﻣﻥ ﻧﺗﺧﻳﻠﻬﺎ ﺃﻥ
ﺍﻝ ﻋﻠﻰ ﺟﺩﻳﺩﺓ ﻣﺯﻳﺔ ﻳﺿﻳﻑ ﺍﺳﺗﻧﺑﺎﻁﻪOOPﻣﻥ ﻫﻭ ﺫﺍﻙ ﺃﻭ ﺃﻧﺕ ﺃﻭ ﺃﻧﺎ ﺃﻛﻭﻥ ﻗﺩ ﻧﺩﺭﻱ ﻻ ..
... ! ﻟﻪ ﻧﺻﻝ ﻻ ﻭﻗﺩ ،ﺍﻟﻐﺩ ﻟﻪ ﻧﺻﻝ ﻭﻗﺩ ،ﺍﻟﻳﻭﻡ ﻟﻪ ﻧﺻﻝ ﺍﻷﺳﻠﻭﺏ..ﻗﺩ ﻟﻬﺫﺍ ﻳﺻﻝ
ﺁﺧﺭ ﻋﺎﻟﻡ ﺃﻱ ﻓﻲ ﺃﻭ ،ﺍﻟﺑﺭﻣﺟﺔ ﻋﺎﻟﻡ ﻓﻲ ﺟﺩﻳﺩ ﻣﻔﻬﻭﻡ ﻟﻧﺎ ﺳﻳﻘﺩﻡ ﷲ ﺧﻠﻕ ﻓﻲ ﻣﺗﻔﻛﺭ ﻣﻥ ﻫﻧﺎﻙ ﻫﻝ
ﺍﻟﻌﻠﻭﻡ؟ ﻫﺫﻩ ﺑﺣﺭ ﻣﻥ
ﺍﻟﺣﻣﺩ ،ﻭﺍﻟﺳﻛﻭﻥ ﺍﻟﺣﺭﻛﺎﺕ ﻭﻋﺩﺩ ﻳﻛﻭﻥ ﻣﺎ ﻭﻋﺩﺩ ﻛﺎﻥ ﻣﺎ ﻋﺩﺩ ﺭﺏ ﺍﻟﻌﺎﻟﻣﻳﻥ، ﺍﻟﺣﻣﺩ ہﻠﻟ ﺩ ہﻠﻟ
ﻭﺃﺗﻭﺏ ﻓﺄﺳﺗﻐﻔﺭﻙ ﻧﻔﺳﻲ ﻣﻥ ﻓﻬﺫﺍ ﺃﺧﻁﺄﺕ ﻭﺇﻥ ،ﺑﻔﺿﻠﻙ ﻓﻬﺫﺍ ﺃﺻﺑﺕ ﺇﻥ ﺍﻟﻠﻬﻡ ،ﺍﻟﻌﺎﻟﻣﻳﻥ ﺭﺏ ﻟ
ﺍﻟﻌﺭﺵ ﺭﺏ ﻭﻫﻭ ﺗﻭﻛﻠﺕ ﻋﻠﻳﻪ ﺭﺑﻲ ﻫﻭ ﺍﻟﻣﺳﺗﻌﺎﻥ ﻭﷲ ،ﺃﻋﻠﻣﻪ ﻟﻡ ﺃﻡ ﻋﻠﻣﺗﻪ ﺃﻣﺭ ﻛﻝ ﻓﻲ ﺍﻟﻳﻙ
.ﺍﻟﻌﻅﻳﻡ
.ﺃﺑﻭﺣﻣﻳﺩ ﺃﻧﻳﺱ ﺃﺧﻭﻛﻡ