È®ÀåÁ¡ ½ºÅ°¸¶ »ç¿ë¹ý
ÀÛ¾÷°ø°£ÀÇ Ç÷¯±×Àο¡ ÀÇÇØ Á¤ÀÇµÈ È®ÀåÁ¡À» »ç¿ëÀÚ °íÀ¯ÀÇ Ç÷¯±×ÀÎÀ̳ª ´Ù¸¥
Ç÷¯±×Àο¡ Áï½Ã »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. È®ÀåÁ¡ ½ºÅ°¸¶°¡ Á¤ÀÇµÈ °æ¿ì, PDE´Â
»õ È®ÀåÀ» Á¤ÀÇÇÒ ¶§ µµ¿òÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½°ú °°Àº µµ¿òÀ» Á¦°øÇÕ´Ï´Ù.
- ¿Ã¹Ù¸¥ ºÎ¼Ó¿ä¼Ò¸¸ Ãß°¡µÉ ¼ö ÀÖµµ·Ï »õ ÆË¾÷ ¸Þ´º¿¡ ¼±ÅûçÇ× Á¦°ø.
- ¿Ã¹Ù¸¥ ¼Ó¼º¸¸ ¼³Á¤µÉ ¼ö ÀÖµµ·Ï Ư¼º ½ÃÆ®¿¡ ¼Ó¼º
Á¤º¸ Á¦°ø.
- ¼Ó¼º À¯Çü(boolean,
string ¹× enumeration)°ú ÀÏÄ¡ÇÏ´Â ¿Ã¹Ù¸¥ ¼Ó¼º Ư¼º ÆíÁý±â Á¦°ø.
- Ư¼ö ¼Ó¼º À¯Çü("java" ¹× "resource")¿¡
Ãß°¡ Áö¿ø Á¦°ø.
- Ư¼º ½ÃÆ® ½ÃÆ®¿¡¼ ¼±ÅÃµÉ ¶§ »óÅ ǥ½ÃÁÙÀ» »ç¿ëÇÏ¿© ¼Ó¼º¿¡
´ëÇÑ ¹®¼ ½º´ÏÆêÀÇ Ã¹ ¹øÂ° ¹®ÀåÀ» Ç¥½Ã.
¿¹: "»ùÇà ±¸¹® ºÐ¼®±â" È®ÀåÁ¡ »ç¿ë
¾Õ¼ Á¤ÀÇÇÑ È®ÀåÁ¡À» »ç¿ëÇϱâ Àü¿¡ ¿¹»óµÇ´Â ÀÎÅÍÆäÀ̽º¸¦
Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. ³×ºñ°ÔÀÌÅÍ¿¡¼ com.example.xyz ÇÁ·ÎÁ§Æ®¸¦ ¼±ÅÃÇϰí
"Java ÀÎÅÍÆäÀ̽º ÀÛ¼º" µµ±¸ ¸ðÀ½ ´ÜÃ߸¦ ´©¸£½Ê½Ã¿À.
ÆÐŰÁö À̸§À» com.example.xyzÀ¸·Î, ÀÎÅÍÆäÀ̽º À̸§À»
IParser·Î ¼³Á¤Çß´ÂÁö È®ÀÎÇÑ ÈÄ¿¡ ¿Ï·á¸¦ ´©¸£½Ê½Ã¿À.
´ÙÀ½°ú °°ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ÆíÁýÇϽʽÿÀ.
package com.example.xyz;
public interface IParser {
/**
* Run the parser using the
provided mode
*/
public void parse(int mode);
}
ÀÌÁ¦ È®ÀåÁ¡, È®ÀåÁ¡¿¡ ´ëÇÑ XML ½ºÅ°¸¶, Çʼö ÀÎÅÍÆäÀ̽º°¡
¸ðµÎ ÁغñµÇ¾ú½À´Ï´Ù. ¿·Á ÀÖ´Â ¸ðµç ÆíÁý±â¸¦ ÀúÀåÇϽʽÿÀ.
ÀÌÁ¦ °íÀ¯ Ç÷¯±×ÀÎ ¶Ç´Â ´Ù¸¥ Ç÷¯±×ÀÎÀÌ È®ÀåÁ¡À» »ç¿ëÇÒ ¸ðµç Áغñ°¡
¿Ï·áµÇ¾ú½À´Ï´Ù.
- com.example.xyz Ç÷¯±×Àο¡ ´ëÇØ Manifest ÆíÁý±â¸¦ ¿©½Ê½Ã¿À.
- È®Àå ÆäÀÌÁö·Î ÀüȯÇÏ¿© ½Å±Ô->½ºÅ°¸¶ ±â¹Ý È®ÀåÀ» ´©¸£½Ê½Ã¿À.
- "»ùÇà ±¸¹® ºÐ¼®±â"¸¦ ¼±ÅûçÇ×À¸·Î »ç¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. À̸¦ ¼±ÅÃÇϰí
¿Ï·á¸¦ ´©¸£½Ê½Ã¿À.
- »õ·Î Ãß°¡µÈ "Sample Parsers" ¿ä¼Ò¸¦ ¼±ÅÃÇÏ°í ½Å±Ô->±¸¹® ºÐ¼®±â
¸Þ´º¸¦ ÆË¾÷ Ç¥½ÃÇϽʽÿÀ (È®ÀåÁ¡ÀÌ ¸ðµç ¼öÀÇ "parser" ¿ä¼Ò¸¦ ¼ö¿ëÇÒ ¼ö ÀÖµµ·Ï
ÁöÁ¤ÇÔ).
- »õ ¿ä¼Ò¸¦ ¼±ÅÃÇÏ°í Æ¯¼º º¸±â·Î À̵¿ÇϽʽÿÀ. ³× °³ÀÇ ¼Ó¼º Áï,
ID, name, class, mode°¡ Ç¥½ÃµÇ¾î¾ß ÇÕ´Ï´Ù. ¼Ó¼ºÀ» ¼±ÅÃÇÒ ¶§
»óÅ ǥ½ÃÁÙ¿¡ Ãà¾àÇü ¼Ó¼º Á¤º¸°¡ ¾î¶»°Ô Ç¥½ÃµÇ´ÂÁö Âü°íÇϽʽÿÀ. ÀÌ Á¤º¸´Â
È®ÀåÁ¡ ½ºÅ°¸¶¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
- nameÀ» "±âº» ±¸¹® ºÐ¼®±â"·Î º¯°æÇϽʽÿÀ. mode¸¦
"¼öµ¿"À¸·Î º¯°æÇϽʽÿÀ.
- class ¼Ó¼ºÀ» ¼±ÅÃÇϽʽÿÀ. ÀÌ Æ¯¼ºÀº Á÷Á¢ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù.
Ư¼º ´ëÈ »óÀÚ¸¦ ¿©½Ê½Ã¿À.
- »õ Ŭ·¡½º¸¦ ÀÛ¼ºÇϽʽÿÀ. "XYZ Ç÷¯±×ÀÎ"À» ¼Ò½º Æú´õ·Î,
com.example.xyzÀ» ÆÐŰÁö·Î, DefaultParser¸¦ Ŭ·¡½º À̸§À¸·Î ¼±ÅÃÇϽʽÿÀ.
¿Ï·á¸¦ ´©¸£½Ê½Ã¿À.
- ÀÌÁ¦ DefaultParser Ŭ·¡½º¿¡ ´ëÇØ Java ÆíÁý±â°¡ ¿¸³´Ï´Ù. ¿Ã¹Ù¸¥
ÀÎÅÍÆäÀ̽º(IParser) ±¸Çö ¹× "parse" ¸Þ¼Òµå¿¡ ´ëÇÑ
½ºÅÓ ±¸Çö ¹æ¹ý¿¡ ÁÖ¸ñÇϽʽÿÀ.
ÀÌ´Â Àüü XML ½ºÅ°¸¶¸¦ È®ÀåÁ¡¿¡ Á¦°øÇÒ ¶§ PDEÀÇ Áö¿øÀ¸·Î ¿À·ù¸¦ ¿¹¹æÇÏ´Â µ¥ µµ¿òÀÌ µË´Ï´Ù.
