title: **"**SRP : The Single-Responsibility Principle**"**
description: "SRP : The Single-Responsibility Principle"
cleanUrl: /sw-engineer/srp
floatFirstTOC: right

Definition

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*/ } }

특징

문제점

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*/ } }

특징

Conclusion

References