วันพฤหัสบดีที่ 23 มิถุนายน พ.ศ. 2554

รู้จักกับ Factory Method . . .

Factory Method คืออะไรกัน

จริงๆแล้ว Factory Method ก็คือ คำสั่งที่ถูกสร้างขึ้นเพื่อนำมาใช้ในการสร้าง Object แทนที่เราจะสร้าง Object นั้นๆ โดยใช้ Constructor ของมันเอง ซึ่ง Factory Method นี้ก็จะเป็นพื้นฐานของ Design pattern ตัวอื่นๆด้วย เช่น Singleton เป็นต้น

Java and Factory Method

ในภาษา Java นั้นก็จะมีคลาสบางคลาสที่มีคำสั่งที่เป็น Factory Method โดยคลาสดังกล่าวจะจัดเตรียมเจ้าตัว Factory Method ไว้ให้ผู้ใช้เรียกใช้ได้หรือบางคลาสเองก็อาจจะเป็น Factory Class ได้เช่นกัน โดยผมจะขอยกตัวอย่างคลาสที่มี Factory Method ไว้ให้เรียกใช้จำนวน 2 คลาส ดังนี้

1.
Class DateFormat ใน Java package “Java.text” โดย class DateFormat นี้จะเป็นตัว abstract class ที่มีคุณสมบัติให้ใช้ในการจัดรูปแบบของวันและเวลา ซึ่งจะมีหลากหลายคำสั่งสำหรับเข้าถึงการจัดการรูปแบบวัน/เวลาในการตั้งค่าเริ่มต้นหรือตั้งค่าตำแหน่งและค่าของ formatting styles โดยเราสามารถจัดรูปแบบและการจัดวางวันสำหรับสถานที่ใดๆก็ได้ตามต้องการเพียงใช้คำสั่งต่างๆให้ถูกต้องเท่านั้น และนี่น่าสนใจก็จะเป็นเกี่ยวกับเรื่องการจัดเตรียม Factory method ไว้ให้เรียกใช้ด้วย เช่น

จากคำสั่งด้านล่างก็จะเป็นการเรียกใช้ Factory method สำหรับจัดรูปแบบวันสำหรับสถานที่ปัจจุบัน






คำสั่งถัดมาก็จะเป็นการเรียกใช้ Factory method สำหรับจัดรูปแบบวันและเวลาสำหรับสถานที่ปัจจุบัน







2. Class SecretKeyFactory ซึ่งจะอยู่ใน package "javax.crypto" โดยจะป็น factory สำหรับคีย์ลับหรือรหัสลับนั่นเอง ใน Key Factories นี้จะถูกแปลงจากรหัสจริงหรือกุญแจการเข้ารหัสเป็นรหัสเฉพาะซึ่งเป็นตัวแทนของคีย์จริง โดย Method ต่างๆที่เกี่ยวข้องก็จะมีดังนี้

protected SecretKeyFactory(SecretKeyFactory keyFacSpi, Provider provider,
String algorithm)

คำสั่งข้างต้นจะเป็นการสร้าง SecretKeyFactory Object

สำหรับในการสร้าง SecretKeyFactory Object ของ secret-key จะใช้คำสั่ง
public static final SecretKeyFactory getInstance(String algorithm)
throws NoSuchAlgorithmException

public static final SecretKeyFactory getInstance(String algorithm, String provider)
throws NoSuchAlgorithmException, NoSuchProviderException

public static final SecretKeyFactory getInstance(String algorithm, Provider provider)
throws NoSuchAlgorithmException



Credit : http://cupi2.uniandes.edu.co/javadoc/j2se/1.5.0/docs/api/allclasses-noframe.html


สำหรับเรื่อง Factory Method ทาง Component Rap_Jung Group
ก็ขอจบไว้เพียงเท่านี้ก่อนครับ หากท่านผู้อ่านมีข้อติชมประการใด
ทางผู้เขียนก็รอรับไว้เพื่อการปรับปรุงแก้ไขครับ

ขอบคุณครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น