WPF Prism ์—ฐ๊ตฌ

WPF Prism ์—ฐ๊ตฌ


WPF ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ๊ฐ€์žฅ ๋Œ€์ค‘์ ์ธ Prism์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณธ ์‹œ๋ฆฌ์ฆˆ(Slog)์—์„œ๋Š” WPF Prism์˜ ๊ตฌ์กฐ๋ฅผ ์—ฐ๊ตฌ/๋ถ„์„ํ•˜๊ณ  ๋˜ ์ด์™€ ๊ด€๋ จ๋œ ์ด๋ก ์ด๋‚˜ ๊ฐœ๋…์„ ์—ฐ๊ฒฐ ์ง€์–ด ํ™•์žฅํ•ด ์•Œ์•„๋‚˜๊ฐ€ ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

์ข‹์•„์š” 7

1. Prism-Sample-Wpf


Prism ๊ธฐ์ˆ ์„ ๋น ๋ฅด๊ฒŒ ๊ฒ€ํ† ํ•˜๊ณ  ๋„์ž…ํ•˜๊ธฐ ์œ„ํ•œ ํ›Œ๋ฅญํ•œ ๋ฐฉ๋ฒ•์ด ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค.

PrismLibrary/Prism-Samples-Wpf
Brian Lagunas ๋‹˜์„ ๋น„๋กฏํ•œ ์—ฌ๋Ÿฌ Prism ๊ธฐ์—ฌ์ž๋“ค์ด GitHub๋ฅผ ํ†ตํ•ด ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ํ›Œ๋ฅญํ•œ ์ƒ˜ํ”Œ ์†Œ์Šค์ฝ”๋“œ ์ž…๋‹ˆ๋‹ค.

์ด ์ƒ˜ํ”Œ ํ”„๋กœ์ ํŠธ์˜ ํŠน์ง•์œผ๋กœ๋Š” ํŠนํžˆ Prism์˜ ์ฃผ์š” ๊ธฐ์ˆ ๋“ค์„ ๊ฐ๊ฐ์˜ ํ”„๋กœ์ ํŠธ๋กœ ๋‚˜๋ˆ„์–ด ์ œ๊ณตํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์Šคํ…์„ ์ˆœ์„œ๋Œ€๋กœ ํ•˜๋‚˜์”ฉ ๋ฐŸ์•„ ๋‚˜์•„๊ฐ€๊ธฐ์— ์•ˆ์„ฑ๋งž์ถค์ž…๋‹ˆ๋‹ค.

์ƒ˜ํ”Œ ๋ชฉ๋ก


(์ˆซ์ž ๋„˜๋ฒ„๋ง์ด ์ด์ƒํ•˜์ง€๋งŒ ์‹ค์ œ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ ๋™์ผํ•˜๋ฉฐ ๊ฐฏ์ˆ˜๋Š” ์ด 29๊ฐœ ์ž…๋‹ˆ๋‹ค.)

์ข‹์•„์š” 5

Prism GitHub Repository


PrismLibrary organization์—์„œ ๊ณต์‹์œผ๋กœ ์ œ๊ณตํ•˜๋Š” Prism์€ WPF, Xamarin Froms, Uno ๋“ฑ์˜ ํ”Œ๋ ›ํผ์„ ์ œ๊ณตํ•˜๋ฉฐ ํ•ต์‹ฌ ๊ณต์šฉ ๋ถ€๋ถ„์€ .NET Standard 2.0๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ทธ ์™ธ ํ”Œ๋žซํผ์— ํŠนํ™”๋œ ๊ธฐ๋Šฅ์€ ๊ฐ๊ฐ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Prism์€ ์†”๋ฃจ์…˜์ด ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

image

๊ทธ๋ฆฌ๊ณ  Prism์˜ ์ฃผ์š” ๊ธฐ์ˆ ์ธ IoC Container ๊ธฐ์ˆ ์€ ๋ณ„๋„์˜ ํŒจํ‚ค์ง•์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. (WPF ๊ธฐ์ค€)

  • Prism.DryIoc
  • Prism.Unity

(7.0 ๋ฒ„์ „๋ถ€ํ„ฐ IoC ๊ด€๋ จ ๋ถ€๋ถ„์ด ๋ถ„๋ฆฌ๋˜์–ด์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.)

GitHub ๊ณต์‹ Repository

๊ทธ๋ฆฌ๊ณ  1.5k forks๋ฅผ ์ž๋ž‘ํ•˜๋Š” ์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋Š” ํ™•์‹คํžˆ ํ”„๋ ˆ์ž„์›Œํฌ ์—ฐ๊ตฌ/๋ถ„์„์— ์žˆ์–ด์„œ ์•„์ฃผ ํ•ซํ•˜๊ณ  ๊ท€ํ•œ ์˜คํ”ˆ์†Œ์Šค๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์š”. :slight_smile:

์ข‹์•„์š” 2