E D R , A S I H C RSS

DPSC Chapter2



1. Chatper 2

1.1. Aha!

Before launching into our descriptions of specific design patterns, we present a case study of sorts, involving multiple patterns. In the Design Pattern preface, the Gang of Four speak about moving from a "Huh?" to an "Aha!" experience with regard to understanding design patterns. We present here a little drama portraying such a transition. It consists of three vignettes: three days in the life of two Smalltalk programmers who work for MegaCorp Insurance Company. We are listening in on conversations between Don (an object newbie, but an experienced business analyst) and Jane (an object and pattern expert). Don comes to Jane with his design problems, and they solve them together. Although the characters are fictitious, the designs are real and have all been part of actual systems written in Smalltalk. Our goal is to demonstrate how, by careful analysis, design patterns can help derive solutions to real-world problems.

(ค‘„ค‘„ ตฌ— €Œšด ˜—ญดŠ”. --;;;)

””žธ ํŒจํ„— Œ€ํ•œ ตฌฒด ธ „ช…— “ค–ด€ธฐ  „— šฐฆฌŠ” ‹ค–‘ํ•œ ํŒจํ„“คด ํฌํ•จœ ฒƒ“ค— Œ€ํ•œ ˜ˆ‹œ“ค„ ณด—ฌ€‹ค. ””žธ ํŒจํ„„œฌธ—„œ GoFŠ” ””žธ ํŒจํ„„ ดํ•ดํ•˜ฒŒ ˜ฉด„œ "Huh?" —„œ "Aha!" กœ ฐ”€ŒŠ” ฒฝํ—˜— Œ€ํ•ด ด•ธฐํ•œ‹ค. šฐฆฌŠ” —ฌธฐ ž‘€ ‹จง‰„ ณด—ฌ„ ฒƒด‹ค. ทธฒƒ€ 3ฐœ˜ ž‘€ ด•ธฐกœ ตฌ„˜–ดžˆ‹ค : MegaCorpŠ” ณดํ—˜ํšŒ‚ฌ—„œ ํ•˜Š” ‘ช…˜ Smalltalk ํ”„กœทธž˜จธ˜ 3˜ ด•ธฐด‹ค. šฐฆฌŠ” Don (OOP— Œ€ํ•ด„œŠ” ดˆณด€งŒ ฒฝํ—˜žˆŠ” ‚ฌ—…„„€) Jane (OOP™€ Pattern  „ฌธ€)˜ Œ€ํ™”‚ดšฉ„ “ฃณ  žˆ‹ค. Don € ทธ˜ ฌธ œ Jane—ฒŒ € ธ˜คณ , ทธ“ค€ ฐ™ด ทธ ฌธ œ ํ•ดฒฐํ•œ‹ค. „ก —ฌธฐ˜ ธ“ค˜ ํ—ˆตฌ˜ ฒƒด€งŒ, design € ‹ค œ˜ ฒƒดณ , Smalltalkกœ “ฐ—ฌ„ ‹ค œ˜ ‹œŠคํ…œค‘ €ด‹ค. šฐฆฌ˜ ชฉํ‘œŠ” –ด–ปฒŒ design patternด ‹ค œ„„˜ ฌธ œ“ค— Œ€ํ•œ ํ•ดฒฐ…„ € ธ‹ค Š”€— Œ€ํ•ด „ช…ํ•˜Š” ฒƒด‹ค.

Chapter 2

Aha!


2.1 Scene One : State of Confusion
Our story begins with a tired-looking Don approaching Jane's cubicle, where Jane sits quietly typing at her keyboard.
šฐฆฌ˜ ด•ธฐŠ” €œํ‘œ •„ €œฉฐ  œธ˜ cubicle (Œ.. ‚ฌฌด‹ค—„œ˜ ํŒŒํ‹ฐํดกœ ตฌ„œ ณณ  •„ธ“. a small room that is made by separating off part of a larger room)กœ €Š” Don ํ•จป˜ ‹œž‘ํ•œ‹ค.  œธ€ ž‹ ˜ cubicle—„œ กฐšฉํžˆ ํƒ€ดํ•‘ํ•˜ฉฐ •‰•„žˆ‹ค.

Don : Hey, Jane, could you help me with this problem? I've been looking at this requirements document for days now, and I can't seem to get my mind around it.
Jane~ ด ฌธ œ€ ํ•ดฒฐํ•ด‹คž˜š”? ˜คŠ˜ ํ•˜ฃจข… ด š”ตฌฌธ„œ ณ‹คดค€งŒ, „ฌด€ •„ด””–ด€ •ˆ– ˜คฅด„š”.

Jane : That's all right. I don't mind at all. What's the problem?
ข‹•„š”. –ด–คฌธ œธ€š”?

Don : It's this claims-processing workflow system I've been asked to design. I just can't see how the objects will work together. I think I've found the basic objects in the system, but I don't understand how to make sense from their behaviors.
 œ€ ””žธ€ํƒํ•˜Š” ฒƒ€ ฐ”กœ ด š”ตฌ-„ํ–‰ ž‘—…ํ„‹œŠคํ…œ ž…‹ˆ‹ค. (ทธƒฅ ˜–ด ทธŒ€กœ จ„  ฒƒ ฐ™€ฐ.. Œ€ฒดํ•  šฉ–ด€ ƒฐ•ˆ‚œ‹ค. •„, –ดํœ˜ ”ธ ค. --;) ด ฐœฒด“คด –ด–ปฒŒ ฐ™€ ž‘šฉํ•ด• ํ• € ชจฅดฒ –ดš”.  œ€ ƒฐํ•˜ธฐก , ด ‹œŠคํ…œ—„œ˜ ธฐณธ ธ ฐœฒด“ค€ ฐพ€ ฒƒ ฐ™€ฐ, ฐ ฐœฒด“ค˜ ํ–‰œ„“ค„ –ด–ปฒŒ ดํ•ดํ•ด• ํ• € ชจฅดฒ –ดš”.

Jane : Can you show me what you've done?

Don : Here, let me show you the section of the requirements document I've got the problem with:
—ฌธฐš”. š”ตฌฌธ„œ—„œ ฌธ œ˜ €„ž…‹ˆ‹ค.

  1. Data Entry. This consists of various systems that receive health claims from a variety of different sources. All are logged by assigning a unique identifier. Paper claims and supporting via OCR (optical character recognition) to capture the data associated with each form field.


  2. Validation. The scanned and entered forms are validated to ensure that the fields are consistent and completely filled in. Incomplete or improperly filled-in forms are rejected by the system and are sent back to the claimant for resubmittal.

  3. Provider/Plan Match. An automated process attempts to mach the plan (the contract unser which the claim is being paid) and the health care provider (e.g., the doctor) identified on the claim with the providers with which the overall claim processing organization has a contract. If there is no exact match, the program identifies the most likely matches based on soundex technology (an algorithm for finding similar-sounding words). The system displays prospective matches to knowledge workers in order of the likeinhood of the match, who then identify the correct provider.

  4. Automatic Adjudication. The system determines whether a claim can be paid and how much to pay if and only if there are no inconsistencies between key data items associated with the claim. If there are inconsistencies, the system "pends" the claim for processing by the appropriate claims adjudicator.

  5. Adjudication of Pended Claims. The adjudicator can access the system for a claim history or a representation of the original claim. The adjudicator either approves the claim for payment, specifying the proper amount to pay, or generates correspondence denying the claim.

Data Entry. ดฒƒ€ ‹ค–‘ํ•œ formœกœ€„ฐ health claims ฐ›Š” ‹ค–‘ํ•œ ‹œŠคํ…œœกœ ตฌ„œ‹ค. ชจ‘ ณ œ  id € ํ• ‹˜–ด ธฐก˜ฉฐ, Paper claims OCR (ด‘ํ•™ฌธžธ‹) กœ บกณœ ฐดํ„Š” ฐ form field “ค— —ฐ€˜–ดžˆ‹ค.

Validation. Šคบ”˜ณ  ž… ฅ˜–ด„ form“ค€ ฐ ํ•„“œ“ค— Œ€ํ•ด €„ณดฆ ชจ“  ํด ™„ „ํžˆ „›ŒกŒŠ”€— Œ€ํ•œ ณดฆ„ œ„ํ•ด €ฆž‘—…„ œ‹ค. ถˆ™„ „ํ•˜‚˜   ˆ˜ ชปํ•œ ž… ฅ€ ‹œŠคํ…œ— ˜ํ•ด reject˜ณ , žฌํ™•ธ„ œ„ํ•ด š”ตฌž—ฒŒ „กœ ณด‚ด„‹ค.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:04
Processing time 0.0201 sec