Skip to content

Latest commit

ย 

History

History
55 lines (27 loc) ยท 1.8 KB

chapter8.md

File metadata and controls

55 lines (27 loc) ยท 1.8 KB

๊ฒฝ๊ณ„

์‹œ์Šคํ…œ์— ๋“ค์–ด๊ฐ€๋Š” ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ง์ ‘ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋“œ๋ฌผ๋‹ค

์™ธ๋ถ€์—์„œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์šฐ๋ฆฌ ์ฝ”๋“œ์— ๊น”๋”ํ•˜๊ฒŒ ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฝ๊ณ„๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ•๊ณผ ๊ธฐ๊ต๋ฅผ ์‚ดํŽด๋ณธ๋‹ค

์™ธ๋ถ€ ์ฝ”๋“œ ์‚ฌ์šฉํ•˜๊ธฐ

์™ธ๋ถ€ ์ฝ”๋“œ๊ฐ€ ๋ณ€ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ๋งˆ๋ผ

ํŒจํ‚ค์ง€ ์ œ๊ณต์ž๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ ์ œ๊ณต์ž๋Š” ์ ์šฉ์„ฑ์„ ๋„“ํžˆ๊ณ  ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋“ฑ ๋” ๋งŽ์€ ๊ณ ๊ฐ์„ ๋Œ์–ด๋“ค์ด๊ธฐ ์œ„ํ•ด ๋Š์ž„์—†์ด ๋„“ํžŒ๋‹ค.

์™ธ๋ถ€์ฝ”๋“œ๊ฐ€ ๋ณ€ํ•˜๊ฒŒ ๋˜๋ฉด ์ˆ˜์ •ํ•  ์ฝ”๋“œ๊ฐ€ ์ƒ๋‹นํžˆ ๋งŽ์•„ ์ง„๋‹ค

public class Sensors {
    private Map sensors = new HashMap();
 
    public Sensor getById(String id) {
        return (Sensor) sensors.get(id);
    }
 
    // ..
}

java.util.Map์„ ์˜ˆ๋กœ ๋“ค์–ด๋ณด์ž

๊ฒฝ๊ณ„ ์ธํ„ฐํŽ˜์ด์Šค, ์ฆ‰ ์™ธ๋ถ€์ฝ”๋“œ์ธ Map์„ Sensor๋ผ๋Š” ๋‚ด๋ถ€ ํด๋ž˜์Šค ์•ˆ์œผ๋กœ ์ˆจ๊ธฐ๋ฉด Map ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋ณ€ํ•˜๋”๋ผ๋„ ๋‚˜๋จธ์ง€ ํ”„๋กœ๊ทธ๋žจ์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค

์•ž์„œ์„œ 7์žฅ "ํ˜ธ์ถœ์ž๋ฅผ ๊ณ ๋ คํ•ด ์˜ˆ์™ธ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋ผ"์—์„œ ๋ดค๋“ฏ์ด ์™ธ๋ถ€ API๋ฅผ ๊ฐ์‹ธ๋ฉด ์™ธ๋ถ€์™€์˜ ์˜์กด์„ฑ์ด ๊ฐ์†Œ๋œ๋‹ค

๊ฒฝ๊ณ„๋ฅผ ์‚ดํ”ผ๊ณ  ์ตํžˆ๊ธฐ

์™ธ๋ถ€ ์ฝ”๋“œ๋ฅผ ์ตํžˆ๊ธฐ๋Š” ์–ด๋ ต๋‹ค.

์™ธ๋ถ€ ์ฝ”๋“œ์™€ ๋‚ด๋ถ€์ฝ”๋“œ๋ฅผ ํ†ตํ•ฉํ•˜๊ธฐ๋Š” ๋” ์–ด๋ ต๋‹ค.

๊ณง ๋ฐ”๋กœ ๋‚ด๋ถ€ ์ฝ”๋“œ์—์„œ ์™ธ๋ถ€์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋Œ€์‹  ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด๋ณด์ž.

ํ•™์Šต ํ…Œ์ŠคํŠธ๋Š” ๊ฝ์งœ ์ด์ƒ์ด๋‹ค

ํŒจํ‚ค์ง€์˜ ์ƒˆ๋ฒ„์ „์ด ๋‚˜์˜จ๋‹ค๋ฉด ์ž‘์„ฑํ•ด๋†“์€ ํ•™์Šต ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ด ์ฐจ์ด์ ์„ ์ ๊ฒ€ํ•œ๋‹ค.

์ƒˆ๋ฒ„์ „์ด ์šฐ๋ฆฌ์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ•™์Šตํ…Œ์ŠคํŠธ๊ฐ€ ์ด ์‚ฌ์‹ค์„ ๊ณง๋ฐ”๋กœ ๋ฐํ˜€๋‚ธ๋‹ค

ํ•™์Šต ํ…Œ์ŠคํŠธ๋Š” ์™ธ๋ถ€ API๋ฅผ ํ„ฐ๋“ํ•˜๋Š” ๊ฒƒ ๋ฟ ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ๋ฒ„์ „์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ• ๋•Œ ๋น›์„ ๋ฐœํ•œ๋‹ค