වස්තු සංරචක පද්ධති නිරූපණය කිරීමට සහ ක්රියාත්මක කිරීමට ක්රම රාශියක් ඇත, නමුත් මෙහි එක් ක්රමයක් පිළිබඳ පැහැදිලි කිරීමකි. වස්තුව / සංරචක / පද්ධති සැකැස්ම පිළිබඳ නිශ්චිත අර්ථ දැක්වීමක් නොමැති බව මතක තබා ගන්න, එබැවින් මෙය එක් ක්රියාත්මක කිරීමක් පමණි.
මම උදව් කළ හැකි වස්තු / සංරචක / පද්ධති සැකසුම් සඳහා ප්රතිසමයක් හඳුන්වා දෙන්නෙමි. යතුරක් වැනි වස්තුවක් ගැන සිතමු.
ආයතනය
යතුරු දත් ඇත (තද නිල්). අපගේ වස්තු යතුරේ දත් එය සෑදෙන සංරචක වේ. එකම දත් තිබුණත් ඔබට ඔවුන්ගේ හැඳුනුම්පතෙන් වෙන්ව ආයතනවලට පැවසිය හැකිය. ඉතින් යතුරු ගැලපෙන්නේ කුමක් ද? අගුල්. අගුල් අපේ පද්ධති. උදාහරණයක් ලෙස, චලන පද්ධතියක්.
පද්ධතිය
අගුල ක්රියාත්මක වන්නේ අපගේ යතුරේ පිහිටීම හා වේගය යන දෙකම සඳහා දත් ඇත්නම් පමණි. මෙම ක්රමය මඟින් ක්රියා කරන්නේ ස්ථානයක් සහ ප්රවේගයක් ඇති ආයතන පමණි. ක්රියාවට නැංවිය යුත්තේ කුමන ආයතනදැයි මෙම පද්ධති හඳුනා ගන්නේ කෙසේද යන්න සැකසීමට විවිධ ක්රම තිබේ, නමුත් එක් ක්රමයක් වන්නේ a long
. සෑම බිට් එකක්ම සංරචක වර්ගයක් සඳහා වෙන් කර ඇත. අපගේ උදාහරණය සඳහා බිට් 64 දිග වෙනුවට බිට් 4 වර්ගයක් උපකල්පනය කරමු. අපගේ උදාහරණ ආයතනයට ලබා ගත හැකි සියලුම සංරචක ඇත. එබැවින් එහි යතුර වනු ඇත 1111
. එවිට පද්ධතිය a ඇති ඕනෑම ආයතනයක් සොයයි 11--
. ( -
නියෝජිතයා ගණන් ගන්නේ නැත, මන්ද ස්ප්රයිට් හෝ සෞඛ්යයක් තිබේ නම් චලනය ගණන් ගන්නේ නැත). එයට සරල AND
මෙහෙයුමක් සහිත වස්තුවක් පරීක්ෂා කළ හැකිය . එබැවින් අපගේ ආයතනය ගැලපේ ((1111 & 1100) == 1100)
. මට ඔබව අහිමි වුවහොත් බිට්වේස් මෙහෙයුම් ගැන තවත් කරුණු බලන්න .
ඔබට පෙනෙන පරිදි, පද්ධතිවලට බාහිර සම්පත් වෙත ප්රවේශය ඇත. ඔවුන්ට කාලය, ග්රැෆික්, ශබ්දය සහ යනාදිය වෙත ප්රවේශ විය හැකිය. ඒවා හුදෙක් වරකට එක් යතුරක් ගෙන දත්ත සැකසෙන කුඩා සකසනයන් ය. චලන පද්ධතිය ප්රවේගය, ඩෙල්ටා කාලය සහ පිහිටීම ගන්නා බව ඔබට පෙනේ; ඉන්පසු සමහර ගණනය කිරීම් සිදු කර ප්රති result ලය නැවත ස්ථානගත කරයි.
වස්තු යතුරු උත්පාදනය කිරීම පහසුය. ඔබට අවශ්ය පරිදි ඒවා එකතු කිරීමට හෝ ඉවත් කිරීමට හැකිය. වස්තුව ගණන් ගන්නේ නැත, එය සංරචක කාණ්ඩගත කර තබා ගැනීමේ මාර්ගයක් පමණි. සංරචක එකිනෙකට පරායත්තතාවයක් නොමැත. අපගේ චලන උදාහරණය මෙන්, පද්ධතියක් ඒවා මත ක්රියාත්මක වන විට සහ තවත් දත්ත යාවත්කාලීන කිරීම සඳහා දත්ත භාවිතා කරන විට සංරචක එකිනෙකා සමඟ අන්තර්ක්රියා කිරීමට ආසන්න වේ.
අදහස ශක්තිමත් කිරීමට වෙනත් පද්ධතියක් දෙස බලමු:
මෙය අපගේ ඇඳීම් පද්ධතියයි. එය ගැලපෙන සංරචක සොයයි 1-1-
. මෙම වස්තුව ගැලපෙන්නේ මන්ද: ((1111 & 1010) == 1010)
මීට අමතරව, මෙම පද්ධතිය තිරය වෙත තොරතුරු ප්රතිදානය කරන බව ඔබට දැක ගත හැකිය.
හරි, තව එකක්. අපි වෙනත් ආයතනයක් දෙස බලමු, එය මෙතෙක් අපගේ ආදර්ශයට ගැලපෙන්නේ කෙසේදැයි බලමු.
ඔබට පෙනෙන පරිදි, මෙම ආයතනයට අමුණා ඇති සංරචක අඩුය. එහි ඇති සංරචක දෙස බැලීමෙන් පෙනෙන්නේ එය පර්වතයක් වැනි ස්ථිතික අයිතමයක් විය හැකි බවයි. එයට ඇත්තේ ස්ථානයක් සහ ස්ප්රයිට් ය. එය චලනය වීමට යන්නේ නැති අතර සෞඛ්ය වෙනස්වීම් වලට එය බලපාන්නේ නැත. මෙම ආයතනය 1010 යතුරක් නිපදවනු ඇත. ඉතින් මෙම ආයතනය මත ක්රියාත්මක වන පද්ධති මොනවාද? පරීක්ෂා කරමු:
අපගේ චලන පද්ධතියට එරෙහිව: නැත
((1010 & 1100) != 1100)
. චලන පද්ධතිය මෙම ආයතනය ගැන තැකීමක් නොකරන බව පෙනේ, එයට අවශ්ය සංරචක නොමැති නිසා.
අපේ ඇඳීම් පද්ධතියට එරෙහිව:
((1010 & 1010) == 1010)
හේයි, එය ගැලපීමක්. මෙම ආයතනය චිත්ර ඇඳීමේ පද්ධතිය මඟින් ක්රියාත්මක වේ. ඇඳීම් පද්ධතිය අර්ථ දක්වා ඇති ස්ථානයට ස්ප්රයිට් අඳිනු ඇත.
අපගේ සංරචක රැගෙන ඒවා ක්රියාත්මක වන වෙනත් පද්ධතියක් දැන් එකතු කිරීම කොතරම් පහසුදැයි ඔබට දැක ගත හැකිය. මම ඔබේ ප්රශ්නවලට පිළිතුරු දුන් බව සහතික කිරීමට මට ඉඩ දෙන්න:
බහු පද්ධතිවලට එකම සංරචකයට ප්රවේශය අවශ්ය නම් කුමක් කළ යුතුද? දත්ත ජීවත් විය යුත්තේ කොතැනින්ද?
සාමාන්යයෙන් පද්ධති එකින් එක ක්රියාත්මක වේ. ඔවුන් ඔවුන්ගේ අවශ්යතාවන්ට ගැලපෙන සියලුම ආයතන ක්රියාවට නංවයි, ඉන්පසු ඊළඟ ක්රමය එකම දේ කරයි. දත්ත ආයතනය සමඟ ජීවත් වේ. පද්ධතිය තුළ කිසිවක් ගබඩා නොවිය යුතුය, එය හැරෙන අගුලක් පමණි, ප්රධාන දෙය නම් තොරතුරු රැඳී සිට අගුලේ සිට අගුල දක්වා ගමන් කිරීමයි.
ආයතන ඉදිකරන්නේ කෙසේද? පද්ධති සහජයෙන්ම සං component ටකයක් සමඟ බැඳී තිබේද? මට නව අංගයක් හඳුන්වා දීමට අවශ්ය නම්, මටද නව පද්ධතියක් හඳුන්වා දීමට හෝ පවතින පද්ධතියක් වෙනස් කිරීමට අවශ්යද?
ආයතන යනු සංරචක මලු පමණි. ඔවුන්ට අද්විතීය හැඳුනුම්පතක් සහ සංරචක ලැයිස්තුවක් ඇත. පද්ධති බැඳී ඇත්තේ ඉහත විස්තර කර ඇති ආකාරයට පමණි. ඒවා ක්රියාත්මක වන පද්ධති නොමැතිව ඔබට සංරචක තිබිය හැකිය, නමුත් එය අර්ථ විරහිත ය. ඒ හා සමානව ඔබට කිසිදු ආයතනයක් නොමැති සංරචක සොයන පද්ධති තිබිය හැකිය. එය අර්ථ විරහිත ය, මන්ද යත්, ඔවුන්ගේ අගුලට ගැලපෙන වස්තුවක් නිර්මාණය වන තෙක් ඔවුන් බලා සිටින බැවිනි. ඉතින්, ඔව්, ඔබ නව අංගයක් හඳුන්වා දුන්නොත්, ඔබට අවශ්ය වන්නේ එම සංරචකය භාවිතා කරන පද්ධතියක් සෑදීමයි. එසේ නොමැතිනම් ඔබ නොපවතින අගුලක් සඳහා ඔබේ යතුරට දත් එකතු කරයි.
මගේ ආයතනය හුදෙක් හැඳුනුම්පතක් නම්, මගේ රොබෝ වස්තුව වෙනත් පද්ධතියකින් ගෙනයාමට හෝ විදැහුම් කිරීමට හා වෙනස් කිරීමට අවශ්ය බව මා දැන ගන්නේ කෙසේද?
long
වස්තුවක අඩංගු සංරචක නිර්වචනය කරන යතුරක අදහස සමඟ මම මේ සඳහා පිළිතුරු සපයමි යැයි සිතමි . යතුර අගුලට ගැලපෙන නිසා ඔබ දන්නවා.
පියු! එය දිගු තනතුරක් විය! (හෝ අවම වශයෙන් එය මගේ විශාල මොනිටරයෙන් පෙනේ.)