Struct, Class ๋ฌด์์ ํํด์ผ ๋ ๊น โ๏ธ
SOLID๋ ๋ก๋ฒํธ ๋งํด์ด ๋ช ๋ช ํ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋จ ๋ฐ ์ค๊ณ์ ๋ค์ฏ ๊ฐ์ง ๊ธฐ๋ณธ ์์น์ด๋ค. โป๏ธ
๋์์ธ ํจํด์ ์์ฑ ํจํด(Creational Patterns) ์ค ๋น๋ ํจํด(Builder pattern)์ ๋๋ค ๐
๋์์ธ ํจํด์ ๋ ๋ฒ์งธ ํฌ์คํธ๋ ์์ฑ ํจํด(Creational Patterns) ์ค ์ฑ๊ธํด์ ๋๋ค ๐
๋์์ธ ํจํด์ ์ฒซ ๋ฒ์งธ ํฌ์คํธ๋ ๋์์ธ ํจํด์ด๋ ๋ฌด์์ผ๊น? ์ ์ธ๊น? ๋ฅผ ์ค์ ์ ์ผ๋ก ๋ค๋ฃฐ ์์ ์ ๋๋ค. ๐จ
Class์ Final์ ์ ๋ถ์ฌ์ฃผ๋ ๊ฑธ๊น? ๐ค
์ ๊ทผ ์ ์ด๋ ์ธ๋ถ ์ฝ๋์ ๋ํ ์ ๊ทผ์ฑ๊ณผ ๊ฐ์์ฑ(visibility)์ ์ ํํ๋ค ๐ ๐ซ
ํ๋กํ ์ฝ ์งํฅ ํ๋ก๊ทธ๋๋ฐ(POP, Protocol Oriented Programing)๋ฅผ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํด์ ๐
์ฑ์ ์คํ๋๋ ๋์ ๋ค์ํ ์ํ๋ก ๋ณํํ๋ค ๐ฑ -> ๐ฒ
์ํธ๋ฆฌ ํฌ์ธํธ์ ์ด๊ธฐํ ๊ณผ์ ์ ๋ํด ์์๋ณด์ ๐
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค๊ฐ Action Sheet์์ Cancel ๋ฒํผ ๋๋ Action Sheet ์ธ๋ถ ๋ทฐ๋ฅผ Tapํ์ฌ ๋ด๋ฆฌ๊ธฐ ๋์ ์ค ์ด๋๊ฒ์ด ๋ ์ ํฉํ ์ง ๊ถ๊ธํ๋ค. HIG๋ฅผ ํตํด ์ดํด๋ณด์ ๐
์ฐ๋ฆฌ๊ฐ ํํ ์ค๋งํธํฐ์์ ์์๋ ์ข์ฐ๋ก ๋๋๊ทธ ํ๊ฑฐ๋ ์ค์์ดํ ํ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๋ ์คํฌ๋กค์ ๋ํด์ HIG (Human Interface Guidelines)์๋ Scroll View๊ฐ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ฌ์ฉ๋๋์ง ์์๋ณด๊ฒ ์ต๋๋ค ๐
์ด๋์ ๋ผ์ด์ ๋ง์ง๋ง ํฌ์คํ ์ผ๋ก ์์์ ๋ฐ๋ผ ์ฌ์ ์๋ ์ด๋ป๊ฒ ๋๋์ง ์์๋ณด๋๋ก ํ์ฃ ๐ค
์ด๋์ ๋ผ์ด์ ๋ ๋ฒ์งธ ํฌ์คํธ๋ ์ง์ ๊ณผ ํธ์ ์ด๋์ ๋ผ์ด์ ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค ๐
๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์ด๊ธฐ๊ฐ์ ์์ฑํ๋ ๋ถ๋ถ๊ณผ ๋๋๋ ๋ถ๋ถ์ ๋ํด ์ดํด๋ด์ ๐