Frameworks කුමකටදැයි කතා කිරිමට පෙර Framework එකක් කියන්නෙ කුමක්දැයි අපි හඳුනාගෙන ඉදිමු.පරිගණකයක් යනු සරලවම ගත් කල ඉලෙක්ට්රොනික කොටස් වලින් නිර්මාණය වුවකි.එමඟින් යම්කිසි වැඩක් කරගැනීමට සහය වන්නේ එය මත ක්රියාකාරි වන මෘදුකාංග මඟිනි.පරිගණක භාවිතයට පැමිණි මුල්
කාලයේ එහි පාවිච්චියට ගැනුනෙ ඉතාමත් මූලික මට්ටමේ තිබු මෘදුකාංගය.එමඟින් කර ගත හැකි වු වැඩකටයුතු
ප්රමාණය ඉතාමත් ස්වල්පය.නමුත් Transistor සොයාගැනීමත් සමඟ දෘඩාංක තාක්ෂණය කෙටි කලක් තුල සිදුවු සීග්ර දියුණුවත් සමඟම ඒ හා සාපේක්ෂව මෘදුකාංග වලද සීග්ර දියුණුවක් සිදු විය.මුලින්ම Single User(එක් වරකට එක් පරිශීලකයෙකුට පමණක් පාවිච්චි කල හැකි ආකාරයේ )හෙයුම් පද්ධතිද පසුවMulti User(එක් වර කීපදෙනෙකුට පරිශිලනය කල හැකි ආකාරයේ )පරිගණක මෙහෙයුම් පද්ධතිද පැමිණ ඇත.මේ අවදියේ මීට සමාන්තරව නොයෙකුත් ව්යාපාර හා අනෙකුත් සෑම ක්ශේත්රයකටම පාහේ පරිගණක යොදා ගැනීමට
පටන්ගැණුනි.මේ සමඟම මෘදුකාංග නිශ්පාදනයද කර්මාන්තයක් ලෙස ලෝකය පුරා ව්යාප්ත වීමට පටන් ගැණිනි. මුල් කාලයේදී assembly වැනි Low Level පරිගණක භාෂාවන් යොදා ගෙන මෘකාංග නිපද වීමටද මීළගට C,Java,.Net වැනි High Level භාෂාවන් යොදා ගැනීමද ආරම්භ විය.මෙසේ Low Levelපරිගණක භාෂාවක සිට High Level පරිගණක භාෂාවන් නිපදවා ඒව යොද ගැනිමට හේතු වුයේ පරිගණක වැඩසටහන් නිපදවිමට ගතවන කාලය හා ඒ සඳහා දැරීමට සිදුවන පරිශ්රමය ඉහලවිමය.මෙය පහත රූපය මඟින් පැහැදිලිකර ගත හැක.
කාලයේ එහි පාවිච්චියට ගැනුනෙ ඉතාමත් මූලික මට්ටමේ තිබු මෘදුකාංගය.එමඟින් කර ගත හැකි වු වැඩකටයුතු
ප්රමාණය ඉතාමත් ස්වල්පය.නමුත් Transistor සොයාගැනීමත් සමඟ දෘඩාංක තාක්ෂණය කෙටි කලක් තුල සිදුවු සීග්ර දියුණුවත් සමඟම ඒ හා සාපේක්ෂව මෘදුකාංග වලද සීග්ර දියුණුවක් සිදු විය.මුලින්ම Single User(එක් වරකට එක් පරිශීලකයෙකුට පමණක් පාවිච්චි කල හැකි ආකාරයේ )හෙයුම් පද්ධතිද පසුවMulti User(එක් වර කීපදෙනෙකුට පරිශිලනය කල හැකි ආකාරයේ )පරිගණක මෙහෙයුම් පද්ධතිද පැමිණ ඇත.මේ අවදියේ මීට සමාන්තරව නොයෙකුත් ව්යාපාර හා අනෙකුත් සෑම ක්ශේත්රයකටම පාහේ පරිගණක යොදා ගැනීමට
පටන්ගැණුනි.මේ සමඟම මෘදුකාංග නිශ්පාදනයද කර්මාන්තයක් ලෙස ලෝකය පුරා ව්යාප්ත වීමට පටන් ගැණිනි. මුල් කාලයේදී assembly වැනි Low Level පරිගණක භාෂාවන් යොදා ගෙන මෘකාංග නිපද වීමටද මීළගට C,Java,.Net වැනි High Level භාෂාවන් යොදා ගැනීමද ආරම්භ විය.මෙසේ Low Levelපරිගණක භාෂාවක සිට High Level පරිගණක භාෂාවන් නිපදවා ඒව යොද ගැනිමට හේතු වුයේ පරිගණක වැඩසටහන් නිපදවිමට ගතවන කාලය හා ඒ සඳහා දැරීමට සිදුවන පරිශ්රමය ඉහලවිමය.මෙය පහත රූපය මඟින් පැහැදිලිකර ගත හැක.
මෙම රූපයේ දැක්වෙන්නේ කාලයත් සමඟ දරන්නට සිදුවන පරිශ්රමයේ(effort) විකාශණයයි.මෙහිදී රූපයේ දැක්වෙන ආකාරයට Framework යන සංකල්පය ඉදිරිපත්වීමට මුලික හේතුව වී ඇත්තේ මෘදුකාංග නිෂ්පාදනයේදී දැරීමට සිදුවන පරිශ්රමයයි.මෙහිදි ඉහත සඳහන් කල ආකාරයට high level පරිගණක භාශාවන් යොදාගෙන ස්ංවර්දනය කර ඇති Framwork විශාල සංඛ්යාවක් මේ වනවිට දක්නට ලැබේ.මේවා පොදු පවිච්චිය සඳහා යොදා ගන්න එවාද(Struts,Spring,Hibernate ) වැනි ඒවා මෙන්ම තමාගේ Framworks මෘදුකාංග කර්මාන්තයේ යෙදෙන මෘදුකාංග නිපදවන ආයතන විසින්ද නිපදවාගෙන ඇත.(SAP,IFS) මෙහිදි ඔවුන් විශේෂයෙන්ම අපේක්ෂා කරනුයේ ඔවුන්ගෙ පහසුවයි.මෙහිදී පහසුව ලෙස සරලව හැදින්නුවත් එමඟින් ඔවුන් බොහො දේ බලාපොරොත්තුවේ.උදාහරණයක් ලෙස දැනට බහුලවම භාවිත වන Framworks යොදා ගැනිමෙන් බොහොවිට බලපොරොත්තු වන්නේ තමන් එය යොදාගෙන සංවර්දනය කරනු ලබන මෘදුකාංගය ඉහල ගුණාත්මක බාවයකින් යුතුව නිපදවාගත හැකිවීමයි.මීට හේතුවන්නේ මෙම සංවර්දනය කිරීමේදී ඒ සදහා යොදාගන්නා නිවරදි තාක්ෂණික යෙදීම් මේ සමගම අපගේ මෘදුකාංග සදහාද යොදාගැනීමට හැකීවීමයි.උදාහරණයක් ලෙස Spring framwork එක සංවර්දනය කිරීමේදී එහි තාක්ෂණික පදනම ලෙස යොදාගෙන ඇත්තේ Factory නැමති Design pattern එකයි. එය අපගේ මෘදුකාංග සදහා නිවරදි ආකාරයට යොදාගතහොත් අපට එහි ඇති යම් යම් ගුණාංග අපගේ මෘදුකාංග සදහාද ආරුඩකරගත හැකිය.බොහෝ විට මේවා භාවිතාකිරීමේදී ලැබෙන වාසි ගැන කතාකලත් එමගින් ලැබේන අවාසිවලින්ද අඩුවක් නැත.බොහෝ විට මෘදුකාංග නිපදවන්නා නිෂ්ශිත රාමුවකට කොටු කිරීම මගින් නව ආකාරයකට සිතීමට ඇති ඉඩ ඇහීරීයාම මෙහිදී දක්නට ලැබෙන ප්රදාන අඩුපාඩුවකි.මේමගින් ලැබෙන වාසි සහ අවසි පිලිබදව ඉදිරියේදී ප්රායෝගික ක්රියාකාරකම් සමගම කතාකරමු.
Comments
මට පොඩි ගැටළුවක් තියෙනවා. "kernel Modules" කියලා කියන්නේ මොනවා ද?
රළු බොරළු පිරි ඇතේ
නමුත් කිසිවිට
පසුනොබසින්
ඉදිරි මඟ පැහැදිළිය
යා යුතුය නුවණැසින්..........
ඔබට ජය...!