ඊට පැහැදිලි පිළිතුරක් නැත. ප්රශ්නය පටු වුවත් පැහැදිලි කිරීම් එසේ නොවේ.
මට නම් එය ඔබට අවශ්ය නම් ඔකාම්ස් රේසර් වැනි ය. එය මගේ වර්තමාන කේතය මැනීමට උත්සාහ කරන පරමාදර්ශයකි. සරල හා සරල වචන වලින් එය ඇණ ගැසීම දුෂ්කර ය. තවත් රූපකයක් වනුයේ »එක් මාතෘකාවක්« වියුක්තය, එනම් ග්රහණය කර ගැනීමට අපහසු, »තනි වගකීමක් as ය. තුන්වන විස්තරය වනුයේ one එක් මට්ටමක වියුක්ත කිරීමක් සමඟ කටයුතු කිරීමයි «.
ප්රායෝගිකව එයින් අදහස් කරන්නේ කුමක්ද?
මෑතකදී මම කේතකරණ ශෛලියක් භාවිතා කරන අතර එය බොහෝ දුරට අදියර දෙකකින් සමන්විත වේ:
පළමු අදියර නිර්මාණාත්මක අවුල් ජාලයක් ලෙස වඩාත් හොඳින් විස්තර කෙරේ. මෙම අදියරේදී සිතුවිලි ගලා යන බැවින් මම කේතය ලියා තබමි - එනම් අමු සහ කැත.
අදියර II යනු සම්පූර්ණ ප්රතිවිරුද්ධයයි. එය හරියට සුළි කුණාටුවකින් පසු පිරිසිදු කිරීම වැනිය. මෙය වැඩිපුරම වැඩ කිරීම හා හික්මවීම අවශ්ය වේ. ඉන්පසු මම කේතය දෙස බලන්නේ නිර්මාණකරුවෙකුගේ දෘෂ්ටිකෝණයෙනි.
මම දැන් වැඩිපුරම වැඩ කරන්නේ පයිතන් වල වන අතර එමඟින් මට පසුව වස්තු සහ පන්ති ගැන සිතීමට ඉඩ සලසයි. පළමු අදියර I - මම කාර්යයන් පමණක් ලියන අතර ඒවා විවිධ මොඩියුලවල අහඹු ලෙස ව්යාප්ත කරමි. දී දෙවන අදියර , මම යන්නේ දේවල් තියෙනවද පසු, මම විසඳුමක් වන කොටසක් සමග ගනුදෙනු ෙම ලය දේ දෙස සමීපව බැලීමට ඇති. මොඩියුල හරහා ගමන් කරන අතරම, මාතෘකා මට මතුවෙයි. සමහර කාර්යයන් තේමාත්මකව සම්බන්ධ වේ. මේ අය පන්ති සඳහා හොඳ අයදුම්කරුවන් . හා පසු මම පංති වලට කාර්යයන් හැරී - කට ආසන්න එබුම සමග සිදු කිරීම සහ එක් වන self
පිඹුරා දී පරාමිතිය ලැයිස්තුවට;) - මම භාවිතා SRP
වෙනත් මොඩියුලයන් සහ පංතිවලට ක්රියාකාරිත්වය සිදු ඉවත් කිරීමට Occam ගේ Razor යන වගේ.
වර්තමාන උදාහරණයක් වන්නේ අනෙක් දවසේ කුඩා අපනයන ක්රියාකාරිත්වය ලිවීමයි .
අවශ්යතාව ඇති විය CSV , Excel සහ ඒකාබද්ධ excel තහඩු සඳහා තැපැල් දී.
සරල ක්රියාකාරිත්වය එක් එක් දර්ශන තුනකින් (= ශ්රිත) සිදු කරන ලදී. සෑම ශ්රිතයක්ම පෙරහන් තීරණය කිරීම සඳහා පොදු ක්රමයක් සහ දත්ත ලබා ගැනීම සඳහා දෙවන ක්රමයක් භාවිතා කළේය. ඉන්පසු සෑම කාර්යයකදීම අපනයනය සකස් කිරීම සිදු වූ අතර එය සේවාදායකයාගෙන් ප්රතිචාරයක් ලෙස ලබා දෙන ලදි.
වියුක්ත කිරීමේ මට්ටම් ඕනෑවට වඩා මිශ්ර විය:
I) පැමිණෙන / පිටතට යන ඉල්ලීම / ප්රතිචාර සමඟ කටයුතු කිරීම
II) පෙරහන් තීරණය කිරීම
III) දත්ත ලබා ගැනීම
IV) දත්ත පරිවර්තනය
පහසුම පියවර වූයේ exporter
පළමු පියවරේදී II-IV ස්ථර සමඟ කටයුතු කිරීම සඳහා එක් සාරාංශයක් ( ) භාවිතා කිරීමයි .
ඉතිරිව ඇත්තේ ඉල්ලීම් / ප්රතිචාර සමඟ කටයුතු කරන මාතෘකාව පමණි . සාරාංශයේ එකම මට්ටමේ ඉල්ලීම් පරාමිතීන් උකහා ගැනීම හරි ය. එබැවින් මට මෙම මතය සඳහා එක් "වගකීමක්" තිබුණි.
දෙවනුව, අපනයනකරු බිඳ දැමීමට මට සිදු විය, එය අප දුටු පරිදි අවම වශයෙන් තවත් වියුක්ත ස්ථර තුනකින් සමන්විත විය.
පෙරහන් නිර්ණායක නිර්ණය කිරීම සහ සත්ය ලෙස නැවත ලබා ගැනීම එකම මට්ටමේ වියුක්ත මට්ටමක පවතී (දත්තවල නිවැරදි අනු කාණ්ඩය ලබා ගැනීම සඳහා පෙරහන් අවශ්ය වේ). මෙම මට්ටම් දත්ත ප්රවේශ ස්ථරයකට දමා ඇත.
මීලඟ පියවරේදී මම සත්ය අපනයන යාන්ත්රණයන් වෙන් කළෙමි: තාවකාලික ගොනුවකට ලිවීම අවශ්ය වූ විට, මම එය "වගකීම්" දෙකකට බෙදුවෙමි: එකක් දත්ත තැටියට සත්ය ලෙස ලිවීම සඳහා සහ තවත් කොටසක් සත්ය ආකෘතිය සමඟ කටයුතු කිරීම.
පංති සහ මොඩියුල සැකසීමේදී, දේවල් පැහැදිලි වූයේ, කොතැනටද යන්න. පංතිය ඕනෑවට වඩා කරයිද යන්න සැමවිටම ගුප්ත ප්රශ්නයයි .
එක් එක් පන්තියට තිබිය යුතු වගකීම් ඔබ තීරණය කරන්නේ කෙසේද සහ SRP සන්දර්භය තුළ ඔබ වගකීමක් නිර්වචනය කරන්නේ කෙසේද?
අනුගමනය කිරීමට වට්ටෝරුවක් ලබා දීම දුෂ්කර ය. ඇත්ත වශයෙන්ම මට ගුප්ත »පුනරාවර්තනයේ එක් මට්ටමක් පුනරාවර්තනය කළ හැකිය - එය උපකාරී වේ නම් රීතිය.
බොහෝ දුරට මට එය එක්තරා ආකාරයක “කලාත්මක බුද්ධියක්” වන අතර එය වර්තමාන සැලසුමට මග පාදයි. චිත්ර ශිල්පියෙකු මැටි කැටයම් කිරීම හෝ පින්තාරු කිරීම වැනි මා ආදර්ශ කේතය.
මාව කේතීකරණ බොබ් රොස් ලෙස සිතන්න ;)