Definition
โข
ํด๋์ค๋ ๋จ์ผ ์ฑ
์ ๋ง์ด ๋ฐ๋ฅด๋๋ก. ์ข๋ ๋์ ํํ์ผ๋ก, ๋จ ํ๊ฐ์ง์ ๋ณ๊ฒฝ ์ด์ ๋ง์ ๊ฐ์ง๋๋ก
โข
Cohesion(์์ง๋) ์ฆ๋ ์์น
SRP violated sample
public class Modem {
// connection responsibility
public void Dial(string pno) { /*code*/ } public void Hangup() { /*code*/ }
// data channel responsibility
public void Send(char c) { /*code*/ } public char Recv() { /*code*/ } }
C#
๋ณต์ฌ
ํน์ง
โข
Connection๊ณผ data channel์ด๋ ๋ ๊ฐ์ ์ฑ
์์ด ๋จ์ผ entity๋ก ๋ฌถ์
๋ฌธ์ ์
โข
Connection ๋ถ๋ถ code ๋ณ๊ฒฝ์ด data channel ๋ด๋น client code์ ์ฌ์ปดํ์ผ, ์ฌ๋ฐฐํฌ๋ฅผ ์๊ตฌํจ
SRP complied sample
public class Connection {
public void Dial(string pno) { /*code*/ } public void Hangup() { /*code*/ }
}
public class Channel {
public void Send(char c) { /*code*/ } public char Recv() { /*code*/ } }
C#
๋ณต์ฌ
ํน์ง
โข
์ฑ
์ ๋ณ class ๋ถ๋ฆฌ๋ฅผ ํตํด ํน์ client code ์์ action ๋ณ๊ฒฝ์ด ํ client code์ ์ํฅ์ ๋ฏธ์น์ง ์์
Conclusion
โข
๊ฐ์ฅ ๊ฐ๋จํ ์์น์ด๋ ๊ฐ์ฅ ์งํค๊ธฐ ์ด๋ ค์ด ์์น ์ค ํ๋.
โข
Application์ ๊ฒฝ์ง์ฑ, ์ทจ์ฝ์ฑ์ ์ ๊ฑฐ.




