Matat nikan mongal vageMVVM වල viewmodel එකෙයි, MVC වල controller එකෙයි අතර වෙනස මොකක්ද?

Attatama mokakda venasa?
Design patterns language specific nane

Matat nikan mongal vageMVVM වල viewmodel එකෙයි, MVC වල controller එකෙයි අතර වෙනස මොකක්ද?


Matat nikan mongal vage
Attatama mokakda venasa?
Design patterns language specific nane![]()


Matat nikan mongal vage
Attatama mokakda venasa?
Design patterns language specific nane![]()
එත් ඒක MVC කියල කියන්නත් පුළුවනි..ඒ නිසයි උන් එකට MVW (W = whatever) කියල කියන්නේ......ඇත්තටම ඔතන වෙන්නේ MVC කියන එකටම ViewModel කියල තව ලේයර් එකක් දාන එක...එතකොට controller එකත් එක ඇතුලෙම තමා ඉන්නේ...
කන්සෙප්ට් එක පැත්තෙන් ගත්තනම් වෙනස මේකයි මම දන්න තරමින්...අපි දන්න MVC වලදී view එක ඇත්තටම data ගැන හරි, ඒ data එන model එක ගැන දන්නේ නැහැ...view එක දන්නේ ඒ data කොහොමද පෙන්නන්නේ කියන එක විතරයි..controller එක තමයි model එකයි view එකයි සම්බන්ද කරන්නේ...view එක කෙලින්ම model එකත් එක්ක ගනුදෙනුවක් ඇත්තෙම නැහැ...එත් ViewModel එකෙන්, නමෙන් ම කියනවා වගේ, ඒ data ගෙන model එකත් එක්ක View එක ගනුදෙනු කරනවා...උදාහරණයක් තමා උබ angular කරලා තියෙනවා නම් එකේ data binding එක .
..එතන scope එක තමා viewmodel එක වෙන්නේ...

language specific නැහැ මචන්.. ඇන්ගියුලර් වගේ එකක් ගත්තත් ඒක MVVM තමා..එත් ඒක MVC කියල කියන්නත් පුළුවනි..ඒ නිසයි උන් එකට MVW (W = whatever) කියල කියන්නේ......ඇත්තටම ඔතන වෙන්නේ MVC කියන එකටම ViewModel කියල තව ලේයර් එකක් දාන එක...එතකොට controller එකත් එක ඇතුලෙම තමා ඉන්නේ...
කන්සෙප්ට් එක පැත්තෙන් ගත්තනම් වෙනස මේකයි මම දන්න තරමින්...අපි දන්න MVC වලදී view එක ඇත්තටම data ගැන හරි, ඒ data එන model එක ගැන දන්නේ නැහැ...view එක දන්නේ ඒ data කොහොමද පෙන්නන්නේ කියන එක විතරයි..controller එක තමයි model එකයි view එකයි සම්බන්ද කරන්නේ...view එක කෙලින්ම model එකත් එක්ක ගනුදෙනුවක් ඇත්තෙම නැහැ...එත් ViewModel එකෙන්, නමෙන් ම කියනවා වගේ, ඒ data ගෙන model එකත් එක්ක View එක ගනුදෙනු කරනවා...උදාහරණයක් තමා උබ angular කරලා තියෙනවා නම් එකේ data binding එක .
..එතන scope එක තමා viewmodel එක වෙන්නේ...
![]()
මම ඇන්ගියුලර් වලින් දන්න ටිකෙන් තමා මේක කිව්වේ...තියරිය පැත්තෙන් නම් ලොකුවට කියන්න අමාරුයි..කොහොමත් ඕක ටිකක් කම්ප්ලේක්ස් සීන් එකක්...![]()

,,concept එක සමාන විදියට පෙනුනට implementation එක වෙනස් 

Elalanguage specific නැහැ මචන්.. ඇන්ගියුලර් වගේ එකක් ගත්තත් ඒක MVVM තමා..එත් ඒක MVC කියල කියන්නත් පුළුවනි..ඒ නිසයි උන් එකට MVW (W = whatever) කියල කියන්නේ......ඇත්තටම ඔතන වෙන්නේ MVC කියන එකටම ViewModel කියල තව ලේයර් එකක් දාන එක...එතකොට controller එකත් එක ඇතුලෙම තමා ඉන්නේ...
කන්සෙප්ට් එක පැත්තෙන් ගත්තනම් වෙනස මේකයි මම දන්න තරමින්...අපි දන්න MVC වලදී view එක ඇත්තටම data ගැන හරි, ඒ data එන model එක ගැන දන්නේ නැහැ...view එක දන්නේ ඒ data කොහොමද පෙන්නන්නේ කියන එක විතරයි..controller එක තමයි model එකයි view එකයි සම්බන්ද කරන්නේ...view එක කෙලින්ම model එකත් එක්ක ගනුදෙනුවක් ඇත්තෙම නැහැ...එත් ViewModel එකෙන්, නමෙන් ම කියනවා වගේ, ඒ data ගෙන model එකත් එක්ක View එක ගනුදෙනු කරනවා...උදාහරණයක් තමා උබ angular කරලා තියෙනවා නම් එකේ data binding එක .
..එතන scope එක තමා viewmodel එක වෙන්නේ...
![]()
මම ඇන්ගියුලර් වලින් දන්න ටිකෙන් තමා මේක කිව්වේ...තියරිය පැත්තෙන් නම් ලොකුවට කියන්න අමාරුයි..කොහොමත් ඕක ටිකක් කම්ප්ලේක්ස් සීන් එකක්...![]()

MVC MVVM දෙකම එකනම් නම් දෙකක් දාන්නේ නෑනෙ,,concept එක සමාන විදියට පෙනුනට implementation එක වෙනස්
![]()
implementation වෙනස් කියල ඔයා අදහස් කරන්නේ මොකක්ද? 
මම කියන්නෙත් ඒ දෙක එකක් කියල නෙමෙයිimplementation වෙනස් කියල ඔයා අදහස් කරන්නේ මොකක්ද?
![]()
මෙහෙමය් ඇත්තටම MVVM කියන්නේ MVC එකෙන් derive වෙච්ච එකක් .. හැබය් MVVM වල ViewModel එකය් MVC වල Controller එකය් ඒවායේ functionality එක ක්රියාත්මක කරන අකාරය වෙනස්. උදා:= MVVM වල ICommand interface එක අත්යවශ්යය්. හැබය් MVC වල එහෙම නැ.
Ow, MVVM or MVP implement karanna puluwan PHP wala unath but ara Interface eka nathi nisa waddek wenna ona oluwen Map karanna. Godakma Microsfot walata thamai support wadi language specific nowunata.


මෙහෙමය් ඇත්තටම MVVM කියන්නේ MVC එකෙන් derive වෙච්ච එකක් .. හැබය් MVVM වල ViewModel එකය් MVC වල Controller එකය් ඒවායේ functionality එක ක්රියාත්මක කරන අකාරය වෙනස්. උදා:= MVVM වල ICommand interface එක අත්යවශ්යය්. හැබය් MVC වල එහෙම නැ.


උබ කතා කරන්නේ මචන් MVVM කියන එක language specifific දෙයක් විදිහට සලකල...එකයි අවුල..උබ කියන විදිහට ඔය icommand කියන එක MVVM වල කොටසක් වෙන්නට ඕනේ...එත් එහෙම නැහැනේ...එක එක language වලින් MVVM implement කරන්න එක එක ක්රම යොදාගන්නවා...එක language එකකට ඕක එහෙම අත්යවශ්ය වුන කියල වෙන laguage එකකට එක එහෙම වෙන්නේ නැහැ...ඔතන තියෙන්නේ concept එකක්...එහෙම බැලුවොත් උබ කියන විදිහට වෙන languages වලින් MVVM pattern එකට develop කරන්න බැහැ..js වලින් එහෙම එතකොට බැහැනේ උබ කියන විදිහට...එතකොට knockoutjs MVVM framework එකක් නෙමෙයි ද? උන්ම කියල තියෙනවා සයිට් එකේ උන්ගේ...
http://knockoutjs.com/


knockout එකේ උන් කියනවනේ native js support එකක් නෑ කියල knockout script එක link කරන්න කියල.. මොකද knockout framework එක හදල තියෙන්න MVVM වලට support කරන්න අවශ්ය features එක්ක .. මට හිතෙන්නේ එහෙමය් .. අනේ මන්ද
මම දන්නා ප්රමාණයට අනුව JavaScript වලින් ඕක කරන්න හෙන ගේමක් දෙන්න එපෙඇ.. එකන knockout හදලතියෙන්නෙ


knockout කියන්නෙත් js ම තමා 
අමුතු දේවල් නෑ...
උබ ඕක C#, asp වගේ වින්ඩෝස් බේස් language වලින් හිතන නිසයි උබට හැම වෙලේම ඕක language specific විදිහට පෙන්නේ..උබ අන්ගියුලර් වගේ ෆ්රේම්වර්ක් එකකින් වැඩ කරලා තියෙනවද? 
knockout කියන්නෙත් js ම තමා
අමුතු දේවල් නෑ...
උබ ඕක C#, asp වගේ වින්ඩෝස් බේස් language වලින් හිතන නිසයි උබට හැම වෙලේම ඕක language specific විදිහට පෙන්නේ..උබ අන්ගියුලර් වගේ ෆ්රේම්වර්ක් එකකින් වැඩ කරලා තියෙනවද?
![]()



ඉතින් මම කිව්වේ නෑනෙ Knockout කියන්නේ js නෙමෙය් කියල
Knockout framework eka හදල තියෙන්නේ JavaScript පදනම් කරගෙන .. JavaScript වලින් කරන්න ලේසි නැනෙ.. එකනේ එහෙම framework එකක් හදල තියෙන්නේ .. හරි නැද්ද ?![]()


ඒක හරි...අපිට නිකන් ඔය විදිහට මුල ඉදන් ගහන්න අමාරුයි...ෆ්රේම්වර්ක් ඒක හදල තියෙන්නේ ඒක නිසා තමයි 
ඒක හරි...අපිට නිකන් ඔය විදිහට මුල ඉදන් ගහන්න අමාරුයි...ෆ්රේම්වර්ක් ඒක හදල තියෙන්නේ ඒක නිසා තමයි
![]()

එකනේ .. ඒ අමාරු මොකද microsoft ඒගොල්ලන්ගේ languages target කරලා එක හදපු නිසා.. ඇත්තටම කිව්වොත් Windows Vista වලට ඒගොල්ලෝ programs හදපු arcitecture එක තමය් MVVM.![]()
![]()
![]()

ok