วันอังคารที่ 21 มิถุนายน พ.ศ. 2554

NetBeans กับการใช้ Design Pattern

NetBeans IDE นั้นมี Feature หนึ่งที่น่าสนใจคือ UML modeling ซึ่งจะคอยช่วยให้เราสามารถวาด Diagram ต่างๆบน NetBeans ได้ นอกจากนี้ยังสนับสนุนการใช้ Design Pattern อีกด้วย
สำหรับผู้ที่มี NetBeans Version 6.9.1 จะยังไม่สามารถใช้งานได้ครับ ต้องทำการติดตั้ง Plugin เพิ่มเติม โดยทำตามขั้นตอนดังนี้
1. ไปที่ http://dlc.sun.com.edgesuite.net/netbeans/updates/6.7.1/uc/final/beta/modules/uml6/
2. ทำการ Download ไฟล์ .nbm ทุกไฟล์
3. ทำการติดตั้งโดย เปิด NetBeans แล้วไปที่ Tools->Plugins
4. คลิกที่ tab Downloaded แล้วกด Add Plugins…
5. เลือกไฟล์ .nbm ทุกไฟล์ที่ Download มาจากข้างต้น
6. กด Install แล้วทำตามขั้นตอนจนเสร็จ เมื่อติดตั้งเสร็จแล้วให้ทำการ Restart NetBeans
เพียงเท่านี้ท่านก็สามารถใช้ Design Pattern บน NetBeans ได้แล้วครับ

*** สำหรับผู้ที่มี NetBeans Version 7.0 หลังติดตั้ง Plugin แล้ว จะสามารถใช้งานได้เฉพาะในส่วนของ Design Pattern ครับ เนื่องจาก Plugin ไม่รองรับเวอร์ชั่นนี้ ทำให้ไม่สามารถวาด Diagram ได้


เริ่มใช้งาน Design Pattern
1. ให้ทำการคลิกขวาที่ package ที่ต้องการใช้ Design Pattern แล้วเลือก Reverse Engineer…


*** สำหรับท่านใดที่ทำตามข้อ1 แล้วไม่มี Reverse Engineer… ขึ้นมาให้เลือก ให้ท่านทำการติดตั้ง Plugin ดังที่กล่าวไว้ข้างต้นก่อนครับ

2. จะปรากฏหน้าต่างขึ้นมาดังรูป ให้คลิกที่ปุ่ม OK

3. หลังจากนั้น จะได้ Project ใหม่ขึ้นมา ให้คลิกขวาที่ Model แล้วเลือก Apply Design Pattern… ดังรูป

 

4. จะปรากฏหน้าต่างขึ้นมา ให้ทำการกด Next แล้วเลือก Project เป็น GoF Design Patterns และเลือก Design Pattern ที่เราต้องการใช้ เสร็จแล้วทำการกด Next


5. หลังจากให้เลือก namespace แล้วกด Next จะปรากฏหน้าต่างขึ้นมาให้เลือก class ที่เราต้องการให้เป็นไปตาม Design Pattern เสร็จแล้วกด Next



6. หลังจากนั้นให้เลือก Create class diagram แล้วตั้งชื่อ class diagram เสร็จแล้วให้กด Next->Finish จะปรากฏ class diagram ตาม Design Pattern ที่เลือกไว้



7. เราสามารถ Generate Code ให้เป็นไปตาม Design Pattern ได้โดยคลิกขวาที่ชื่อ Project ของ Class Diagram แล้วเลือก Generate Code จะปรากฏหน้าต่างขึ้นมาให้คลิก OK



8. หลังจากนั้น NetBeans จะทำการ Generate Code ให้เราดังตัวอย่าง


 

นี่ก็เป็นเพียงตัวอย่างง่ายๆ ในการใช้ Design Pattern บน NetBeans ครับ






วันศุกร์ที่ 17 มิถุนายน พ.ศ. 2554

Class ที่สร้าง Object แบบใช้ Factory Method ใน JAVA

ใน Java มีหลาย Class ที่ใช้หลักการในการสร้าง object แบบ Factory method จะขอยกตัวอย่างสัก 2 Classดังนี้ครับ


1.  Class DocumentBuilderFactory
     java.lang.Object
        extended by javax.xml.parsers.DocumentBuilderFactory

Class DocumentBuilderFactory เป็น Class ที่สร้าง object ของ API ตัวหนึ่งที่สามารถแปลง XML Document ให้เป็น DOM object ได้ ซึ่ง DOM (Document Object Model) เป็นการมองส่วนต่างๆของหน้าเว็บให้เป็น Object เพื่อที่จะเรียกใช้ Object เหล่านั้นได้ครับ ในส่วนของ Class DocumentBuilderFactory  นี้ก็จะทำการแปลงให้ออกมาในรูปของ DOM Object Trees

เราสามารถสร้าง instance ของ DocumentBuilderFactory  ได้ด้วย Code ดังนี้

DocumentBuilderFactory testBuilderFactory = DocumentBuilderFactory.newInstance(); 


2.  Interface ThreadFactory           java.util.concurrent

ThreadFactory เป็นทางเลือกหนึ่งในการสร้าง Thread แทนการที่จะทำการ new Thread แบบเดิม โดย ThreadFactory เป็น Interface เวลาใช้งานก็ต้องทำการ implements ดังตัวอย่างนี้

import java.util.concurrent.ThreadFactory;

class TestThreadFactory implements ThreadFactory {
         public Thread newThread(Runnable r) { 
                Thread t = new Thread(r);
                // do something
                return t;
         }
 }

การใช้ ThreadFactoty มีประโยชน์ในการทำงานของโปรแกรมที่ทำงานแบบ Multi-Thread ในหลายๆเรื่อง เช่น
การ Debug โปรแกรม , Exception Handler หรือการ set priority ของ Thread ทั้งนี้ทั้งนั้นก็ขึ้นอยู่กับการนำไป
ประยุกต์ใช้ของผู้เขียนโปรแกรมแต่ละคนเองด้วยครับ 

วันศุกร์ที่ 10 มิถุนายน พ.ศ. 2554

วิธีใช้ Eclipse เบื้องต้น

Eclipse คือ IDE(Integrated Development Environment) หรือ Editor ตัวหนึ่งซึ่งได้รับความนิยมในการใช้พัฒนาโปรแกรม Eclipseสนับสนุนการพัฒนาโปรแกรมในหลายภาษา มี GUI ที่ดูและเข้าใจง่าย นอกจากนี้ Eclipse ยังสามารถ download plugIn ต่างๆมาใช้งานร่วมกับตัว Eclipse เองด้วย ยกตัวอย่างเช่น การใช้ Eclipse ในการพัฒนาโปรแกรมบน Android ก็จะมีส่วน plugIn ให้ใช้ร่วมกับ Eclipse เลย ที่สำคัญที่สุด Eclipse เป็น Freeware นั่นคือสามารถ download มาใช้กันแบบฟรีๆได้เลยครับ


ก่อนเริ่มใช้งาน Eclipse
ก่อนที่จะเริ่มใช้งาน Eclipse แน่นอนว่าจะต้องมีตัวโปรแกรม Eclipse โดยสามารถ download ตัวโปรแกรม Eclipse ได้ที่ http://www.eclipse.org/downloads/  โดย Eclipse มีหลาย version เราสามารถเลือก download ได้ตามความเหมาะสมของโปรแกรมที่จะพัฒนาได้เลยครับ ขนาดของแต่ละ version ก็จะมีขนาดของ file แตกต่างกันไป

เมื่อทำการ download มาแล้วจะได้เป็น .zip file ซึ่งเราสามารถทำการ Extract file ไปยัง directory ทีต้องการจะทำการ install ได้เลย เมื่อExtract file .zip แล้วจะได้ file ต่างๆดังภาพ







เราสามามารถเข้าโปรแกรม Eclipse โดยเข้าที่ file “eclipse.exe”

ในที่นี้เราจะทำการพัฒนาโปรแกรมด้วยภาษา JAVA เพราะฉะนั้นจะต้องทำการ download ตัว JDK หรือ Java Development Kit เสียก่อน สามารถ download ได้ที่ http://www.oracle.com/technetwork/java/javase/downloads/index.html

เมื่อ download JDK แล้วก็ต้องทำการ Set class path เพื่อให้สามารถ Compile และ Run Java ได้ โดยวิธีทำสามารถติดตามได้จาก Link ด้านล่างเลยครับ
http://archive.oracle.in.th/2008/02/set-path-class-path-j2se-dos.html หรือ
http://www.dominixz.com/blog/software-tips/set-java-to-compile-and-run-all-places-in-dos/


เริ่มใช้งาน Eclipse


เมื่อกดเข้าโปรแกรมแล้วจะมีหน้าต่างขึ้นมาถาม workspace ที่จะให้ Eclipse ใช้พื้นที่ในการทำงาน เหมือนเป็นการ Set default พื้นที่ในการทำงาน เราสามารถกำหนด workspace เองได้แล้วแต่ผู้ใช้งานครับ



หน้าจอหลักของ Eclipse จะแบ่งออกเป็น 5 ส่วนใหญ่ๆดังนี้ครับ


  1. เป็นส่วนของแถบเมนู และ Tool ต่างๆ
  2. เป็นส่วนที่แสดงและจัดการ Project ต่างๆ เหมือนเป็นการ Browse ดู Project หรือ File ต่างๆ
  3. เป็นส่วนที่ใช้ในการเขียน Code
  4. เป็นส่วนที่แสดงถึงโครงสร้างหรือส่วนประกอบของ Class เช่น attribute method และด้านบนสุดเป็นส่วนที่ใช้จัดการกับ plugIn ต่างๆ
  5. เป็นส่วนที่ใช้ในการแสดงผลการทำงานต่าง เมื่อทำการ Run โปรแกรม และยังมีส่วนของการ debug โปรแกรมด้วย

เมื่อรู้จักหน้าตาหรือ GUI แบบคร่าวๆของ Eclipse กันแล้วต่อไปก็มาลองเขียนโปรแกรมง่ายกันครับ โดยเริ่มจากการ New Project ใหม่ขึ้นมา โดยการเลือกที่ File >> New >> Java Project




จากนั้นจะมีหน้าต่างให้กำหนดค่ารายละเอียดต่างๆของ Project  โดยจะบังคับให้ใส่ Project Name ในที่นี้จะตั้งชื่อ Project ว่า EclipseTutorial เมื่อกำหนดค่ารายละเอียดต่างๆแล้ว กด Finish


 
เราจะได้ Project ที่ชื่อว่า EclipseTutorial ขึ้นมา แต่เป็น Project ที่ว่างเปล่า เพราะฉะนั้นเราจะทำการสร้าง Class ที่ชื่อ MainClass ขึ้นมา โดยการคลิกขวาที่ Project แล้วเลือก New >> Class ในการ New Class ขึ้นมาก็จะสามารถตั้งรายละเอียดต่างๆเกี่ยวกับ Class ที่จะสร้างนั้นได้ เมื่อกำหนดค่าต่างๆเรียบร้อยแล้วให้กด Finish



เราจะได้ MainClass.class ขึ้นมา ต่อไปเราจะลองสร้าง class TestObj ขึ้นมา เพื่อลองใช้ Funtion บางอย่างของ Eclipse ครับ ภายใน class TestObj จะมี code ดังนี้ครับ
public class TestObj {
      private String firstName;
      private String lastName;
     
      public void showName() {
            System.out.println("THIS IS METHOD showName()");
            System.out.println("My name is "+firstName+" "+lastName);
      }
}
Tip&Trick
ในการ
code คำสั่ง System.out.println(); นั้นสามารถใช้วิธีลัดโดยการพิมพ์ว่า sysout แล้วกด CTRL+SpaceBar ตัว Eclipse จะสร้างคำสั่ง System.out.println(); ให้ทันที



จะเห็นได้ว่า Attribute ใน Class TestObj เป็น private ฉะนั้นก็จะต้องมี Getter and Setter เราสามารถที่จะสั่งให้ Eclipse สร้าง Getter and Setter จาก Attribute ที่มีอยู่ได้โดยการคลิกขวาที่หน้าจอที่ใช้เขียน code แล้วเลือก Source >> Generate Getters and Setters..





หน้าต่างสำหรับการ Generate Getters and Setters จะขึ้นมา ให้เราทำการเลือกว่าจะสร้าง Getters and Setters ให้กับ Attribute ใดบ้าง และยังสามารถปรับรายละเอียดต่างๆได้เล็กน้อย เมื่อเลือกเสร็จเรียบร้อยให้กด OK










เราจะได้ code ของ class TestObj ดังนี้
public class TestObj {
      private String firstName;
      private String lastName;
     
      public void showName() {
            System.out.println("THIS IS METHOD showName()");
            System.out.println("My name is "+firstName+" "+lastName);
      }

      public String getFirstName() {
            return firstName;
      }

      public void setFirstName(String firstName) {
            this.firstName = firstName;
      }

      public String getLastName() {
            return lastName;
      }

      public void setLastName(String lastName) {
            this.lastName = lastName;
      }
}

นอกจากการ Generate Getters and Setters แล้ว เราสามารถคลิกขวาเพื่อดู Function อื่นๆที่ Eclipse สามารถช่วยจัดการให้การทำงานของเราง่ายขึ้นครับ
เมื่อได้ class TestObj แล้ว ต่อไปเราก็ทำการแก้ไข code ของ MainClass ให้เป็นดังนี้
public class MainClass {
      public static void main(String[] args) {
            TestObj temp = new TestObj();
            temp.setFirstName("Itthi");
            temp.setLastName("Kruenarongkul");
            temp.showName();
           
            temp.setFirstName("Monthinee");
            temp.setLastName("Buntawee");
            temp.showName();
      }
}

Tip&Trick
ในการ
code คำสั่งต่างๆ เราสามารถกด CTRL+SpaceBar เพื่อเรียกดูได้ว่าสามารถใช้ method หรือเรียก Attribute ใดมาใช้ได้บ้าง หรือบางที Eclipse ก็จะขึ้นส่วนนี้มาให้เอง


เมื่อทำการแก้ไข Code เสร็จเรียบร้อย เราจะลองทำการ Run โปรแกรมนี้ดู โดยการกดปุ่มสีเขียวที่อยู่ด้านล่างแถบเมนู


จะเห็นได้ว่า จะมีการเตือนให้ทำการ Save ก่อนทุกครั้งที่จะทำการ Run โปรแกรม หากต้องการ Save และทำการ Run ต่อไปให้กด OK แต่ถ้ากด Cancel จะไม่ Save และไม่ทำการ Run โปรแกรม

เมื่อ Run โปรแกรมแล้วให้ดูส่วนด้านล่างที่จะแสดงผลในการ Run โปรแกรมนั้น

นี่ก็เป็นวิธีการใช้งานเบื้องต้นสำหรับมือใหม่ หวังว่าจะเป็นประโยชน์ไม่มากก็น้อยนะครับ :)

วิธีใช้ NetBeans เบื้องต้น



NetBeans IDE  เป็น Freeware Editor อีกตัวหนึ่ง ซึ่งได้รับความนิยมในการใช้พัฒนาโปรแกรมโดย NetBeans นั้นสนับสนุนการพัฒนาโปรแกรมในหลายภาษา เช่น Java, php, C/C++ นอกจากนี้เรายังสามารถ download PlugIn ต่างๆมาใช้งานร่วมกับตัว NetBeans เองด้วย ยกตัวอย่างเช่น iReport เป็น Plugin ที่ใช้ในการสร้าง report หรือ Visual Web Page Layouts ใช้ในการแสดงตัวอย่างหน้า web page 


ก่อนเริ่มใช้งาน NetBeans
ก่อนที่จะเริ่มใช้งาน NetBeans เราสามารถ download ตัวโปรแกรม NetBeans ได้ที่ http://netbeans.org/downloads/index.html โดย NetBeans นั้นมีหลาย version หลาย Platform เราสามารถเลือกภาษา Platform และ version ได้ตามความเหมาะสมเลยครับ 
เมื่อทำการ download มาแล้วจะได้เป็น .exe file ซึ่งเราสามารถทำการติดตั้งโปรแกรมไปยัง directory ที่ต้องการจะทำการติดตั้งได้เลย หลังจากติดตั้งโปรแกรมเสร็จสมบูรณ์แล้ว เราสามามารถเข้าโปรแกรม NetBeans ได้จากหน้า desktop  

ในที่นี้เราจะทำการพัฒนาโปรแกรมด้วยภาษา JAVA เพราะฉะนั้นจะต้องทำการ download ตัว JDK หรือ Java Development Kit เสียก่อน สามารถ download ได้ที่ http://www.oracle.com/technetwork/java/javase/downloads/index.html
เมื่อ download JDK แล้วก็ต้องทำการ Set class path เพื่อให้สามารถ Compile และ Run Java ได้ โดยวิธีทำสามารถติดตามได้จาก Link ด้านล่างเลยครับ
http://archive.oracle.in.th/2008/02/set-path-class-path-j2se-dos.html หรือ
http://www.dominixz.com/blog/software-tips/set-java-to-compile-and-run-all-places-in-dos/


เริ่มใช้งาน NetBeans

 หน้าจอหลักของ NetBeans จะแบ่งออกเป็น 4 ส่วนใหญ่ๆดังนี้ครับ
  1. เป็นส่วนของแถบเมนู และ Tool ต่างๆ
  2. เป็นส่วนที่แสดงและจัดการ Project ต่างๆ เหมือนเป็นการ Browse ดู Project หรือ File ต่างๆ
  3. เป็นส่วนที่ใช้ในการเขียน Code
  4. เป็นส่วนที่ใช้ในการแสดงผลการทำงานต่าง เมื่อทำการ Run โปรแกรม และยังมีส่วนของการ debug โปรแกรมด้วย

เมื่อรู้จักหน้าตาหรือ GUI แบบคร่าวๆของ NetBeans กันแล้วต่อไปก็มาลองเขียนโปรแกรมง่ายกันครับ โดยเริ่มจากการ New Project ใหม่ขึ้นมา โดยการเลือกที่ File >> New Project

จะมีหน้าต่างขึ้นมาให้เราเลือก โดยให้เราทำการเลือก Java และ Java Application แล้วกด Next


จากนั้นจะมีหน้าต่างให้กำหนดค่ารายละเอียดต่างๆของ Project  โดยจะบังคับให้ใส่ Project Name ในที่นี้จะตั้งชื่อ Project ว่า NetBeansTutorial และชื่อ Main Class ว่า MainClass เมื่อกำหนดค่ารายละเอียดต่างๆแล้ว กด Finish
เราจะได้ Project ที่ชื่อว่า NetBeansTutorial และ File ชื่อ MainClass.java ขึ้นมา 
ต่อไปเราจะลองสร้าง class TestObj ขึ้นมา เพื่อลองใช้ Funtion บางอย่างของ NetBeans ครับ
โดยการสร้าง class ใหม่นั้น เราสามารถทำได้โดย คลิกขวาที่ชื่อ Project แล้วเลือก New >> Java Class ดังภาพ

หลังจากนั้นจะปรากฏหน้าต่างขึ้นมาให้กำหนดรายละเอียด โดยให้ตั้งชื่อ Class ว่า TestObj แล้วกด Finish

ภายใน class TestObj จะมี code ดังนี้ครับ
public class TestObj {
      private String firstName;
      private String lastName;
     
      public void showName() {
            System.out.println("THIS IS METHOD showName()");
            System.out.println("My name is "+firstName+" "+lastName);
      }
}

จะเห็นได้ว่า Attribute ใน Class TestObj เป็น private ฉะนั้นก็จะต้องมี Getter and Setter เราสามารถที่จะสั่งให้ NetBeans สร้าง Getter and Setter จาก Attribute ที่มีอยู่ได้โดยการคลิกขวาที่หน้าจอที่ใช้เขียน code แล้วเลือก Insert Code จะปรากฏหน้าต่างขึ้นมาให้เลือกที่  Getter and Setter

หน้าต่างสำหรับการ Generate Getters and Setters จะขึ้นมา ให้เราทำการเลือกว่าจะสร้าง Getters and Setters ให้กับ Attribute ใดบ้าง เมื่อเลือกเสร็จเรียบร้อยให้กด Generate

เราจะได้ code ของ class TestObj ดังนี้
public class TestObj {
      private String firstName;
      private String lastName;
     
      public void showName() {
            System.out.println("THIS IS METHOD showName()");
            System.out.println("My name is "+firstName+" "+lastName);
      }

      public String getFirstName() {
            return firstName;
      }

      public void setFirstName(String firstName) {
            this.firstName = firstName;
      }

      public String getLastName() {
            return lastName;
      }

      public void setLastName(String lastName) {
            this.lastName = lastName;
      }
}
นอกจากการ Generate Getters and Setters แล้ว เราสามารถคลิกขวาเพื่อดู Function อื่นๆที่ NetBeans สามารถช่วยจัดการให้การทำงานของเราง่ายขึ้นครับ

เมื่อได้ class TestObj แล้ว ต่อไปเราก็ทำการแก้ไข code ของ MainClass ให้เป็นดังนี้
public class MainClass {
      public static void main(String[] args) {
            TestObj temp = new TestObj();
            temp.setFirstName("Itthi");
            temp.setLastName("Kruenarongkul");
            temp.showName();
           
            temp.setFirstName("Monthinee");
            temp.setLastName("Buntawee");
            temp.showName();
      }
}

Tip&Trick
ในการ
code คำสั่งต่างๆ เราสามารถกด CTRL+SpaceBar เพื่อเรียกดูได้ว่าสามารถใช้ method หรือเรียก Attribute ใดมาใช้ได้บ้าง หรือบางที NetBeans ก็จะขึ้นส่วนนี้มาให้เอง


เมื่อทำการแก้ไข Code เสร็จเรียบร้อย เราจะลองทำการ Run โปรแกรมนี้ดู โดยการกดปุ่มสีเขียวที่อยู่ด้านล่างแถบเมนู


โดย  NetBeans จะทำการ Save ให้อัตโนมัติทุกครั้งที่จะทำการ Run ถ้า NetBeans ทำการ compile แล้วไม่พบ error
โปรแกรมจะแสดงผลที่ส่วนด้านล่างดังภาพ


นี่ก็เป็นวิธีการใช้งาน NetBeans เบื้องต้น หวังว่าจะเป็นประโยชน์กับมือใหม่ไม่มากก็น้อยนะครับ :)