නීත්‍යානුකූල ඔත්තුකරුවන් / රජයේ අනුමත ඔත&#3530

dewmal nilanka

Well-known member
  • Oct 25, 2011
    1,327
    1,292
    113
    නීත්‍යානුකූල ඔත්තුකරුවන් / රජයේ අනුමත ඔත&#3530

    මම ටික කාලෙකට කලින් බ්ලොග් එකෙ දාපු පොස්ට් එකක් EK කට්ටියට වැදගත් වෙයි කියල හිතපු නිසා මේකෙ දැම්ම..


    නීත්‍යානුකූල ඔත්තුකරුවන් / රජයේ අනුමත ඔත්තුකාරයන්



    කොහොමද මෙහෙම කතාවක් අහල තියෙනවද? (මම හොද සිහියෙන් මේක ලියන්නෙ )

    ස්ථානය : යුද මූලස්ථානයක්

    කර්නල් : සාජන් අර රුසියාවෙයි ඇමරිකාවෙයි ඔත්තුකාරයන්ට ඕනි තොරතුරු ටික දුන්නද?
    සාජන් : ඔව් සර්
    කර්නල් : හරිම ඒව නෙ.චෙක් කරල බැලුවනෙ තොරතුරු ටික හරි කියල
    සාජන් : ඔව් සර් මම නිව්යොර්ක් වලට බොම්බෙ දාන වෙලාවත් ලියල දුන්න.
    කර්නල් : එහෙනම් කට්ටිය වැඩ පටන් අරන් ඇති නෙ අපිටත් ගහන්න
    සාජන් : ඔව් සර් අපේ ඔත්තුකාරයටත් ඒ විස්තර කියල තිබ්බ අද උදේකර්නල් : මෙ චිනෙ එකාටත් මීට පස්සෙ විස්තර ටික දෙන්න.සාජන් : හොදමයි සර්



    ඇත්තටම නම් ඔහොම වෙන්නෙ නෑ ඒ උනාට ඔය වගේම දෙයක් ප්‍රොගැමින් වලදි
    අපි කරනව.

    ඒක ඇවිල්ල DESIGN PATTERN එකක්.නමත් අහල ඇති OBSERVER කියල එකක්.
    අපි ඒකෙදිදිත් මේ වගේම වැඩක් කරනව.ඔත්තුකාරයෙක් කිව්වට වැරදිම නෑ.ඒ උනාට එයාල රජයේ අනුමත ඔත්තුකාරයන්.බලමුකො අපි ඒක වෙන හැටි.



    හරි සාජන් රෙජිස්ටර් කරගෙන ඉන්න ඔත්තුකාරයන් දැනුවත් කරා.ඒ උනාට චීනෙ රෙජිස්ටර් වෙලා නෑ නෙ ඒකනිසා චීනෙ ඔත්තුකාරයට කිව්වෙ නෑ.​



    ඔන්න දැන් චීනෙ ඔත්තුකාරයා රෙජිස්ටර් කරා කර්නල්.ඊගාව පාර ඉදන් සාජන් රෙජිස්ටර් වෙලා ඉන්න ඔත්තුකාරයො ඔක්කොටම කියනව.
    මතක තියා ගන්න ඔත්තුකාරය නෙවෙයි ප්‍රහාරයට ප්‍රතිප්‍රහාර දෙන්නෙ.එයා තොරතුරු ලබා ගන්නෙක්.ඒ වගේම තමා ඒ රටවල් වල තොරතුරුත් ඔත්තුකාරය සාජන්ට දෙන්නෙ නෑ.ඒවට ඉන්නව ඔත්තුකාරයො.ඒකියන්නෙ ඔත්තුකාරයා සහ සාජන් අතරෙ තියෙන්නෙ ඒක බහු සම්බන්ධයක්.සාජන් ඔත්තුකාරය අදුරනව උනාට ඔත්තුකාරයො සාජන්ව අදුරන්නෙ නෑ.
    ඔච්චර තමා ඉතින් කතාව.තමන්ගෙ සොව්ට්වෙයා එකටත් මේ වගේ එකක් ඔනි නම් තමන් ලියන පරිගණක භාෂාවකින් ලියන්න තියෙන්නෙ ඕක.


    මේ ටිකත් බලන්නකො තව ටිකක් තේරුම් ගන්න

    ඔත්තුකාරයන් =Observer Objects
    සාජන් =Subject Object



    මගේ ආසම එක ජාවනෙ ඉතින් එයින් එකක් හොයල දැම්ම.

    මට තෙරෙන උපරිමයෙන් සරල කරල උදාහරණයක් එක්කම දැම්ම.තෙරුන් නැත්තන් බැනල හරි යන්න.ඊගාව එක දාද්දි අඩුපාඩු හදා ගන්න පුළුවන් වෙයි.







    [HTML ]

    [pre]

    /* File Name : EventSource.java */ package org.wikipedia.obs; import java.util.Observable; //Observable is here import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class EventSource extends Observable implements Runnable { public void run() { try { final InputStreamReader isr = new InputStreamReader(System.in); final BufferedReader br = new BufferedReader(isr); while (true) { String response = br.readLine(); setChanged(); notifyObservers(response); } } catch (IOException e) { e.printStackTrace(); } } } /* File Name: ResponseHandler.java */ package org.wikipedia.obs; import java.util.Observable; import java.util.Observer; /* this is Event Handler */ public class ResponseHandler implements Observer { private String resp; public void update(Observable obj, Object arg) { if (arg instanceof String) { resp = (String) arg; System.out.println("\nReceived Response: " + resp ); } } } /* Filename : MyApp.java */ /* This is the main program */ package org.wikipedia.obs; public class MyApp { public static void main(String[] args) { System.out.println("Enter Text >"); // create an event source - reads from stdin final EventSource eventSource = new EventSource(); // create an observer final ResponseHandler responseHandler = new ResponseHandler(); // subscribe the observer to the event source eventSource.addObserver(responseHandler); // starts the event thread Thread thread = new Thread(eventSource); thread.start(); } }

    [/pre]
    [/HTML]


    කෝඩ් එක හරියට පෙන්නෙ නැත්තන් මෙතනින් බලා ගන්න.

    අඩුපාඩු කියලම යන්න.
    http://www.dewmal.com/2013/03/blog-post_30.html
     
    Last edited:

    dewmal nilanka

    Well-known member
  • Oct 25, 2011
    1,327
    1,292
    113
    කාටවත් තේරුනේ නෑ වගේ සින් එක.
    ලියපු මටත් දැන් අවුල් වගේ. මම හිතන්නේ ලිව්ව පලවෙනි අර්ටිකල් එකද කොහෙද. ස්තූතියි ආයේ මතක් කරාට.

    මේ අලුතෙන් ලියන ඒව. හිතනවා දැන් හැදිලා ඇති කියල කලින් අඩුපාඩු

    https://elakiri.com/threads/මෝඩ-යකෙක්-බැදගෙන-software-හදාගමු.2103913/



    ELAKIRI BRO 👌
    Thanks
     
    • Love
    Reactions: NRTG