本文共 1235 字,大约阅读时间需要 4 分钟。
设计原则之单一职能原则动机: 一个职能被考虑成为只有唯一理由去改变,如果我们有两个理由去改变一个类,我们要把这两个功能分成两个类。每个类只控制一个职能,如果在未来有一天我们做某个改变,去改变对应的类就行了。目标: 一个类应该只有一个被改的理由。Bad Example:缺点: 1、新增一个新的协议将会带来一个新需求,要为每种域序列化内容。 2、内容不一定是string,也会有html等其他形式。// single responsibility principle - bad exampleinterface IEmail { public void setSender(String sender); public void setReceiver(String receiver); public void setContent(String content);}class Email implements IEmail { public void setSender(String sender) {// set sender; } public void setReceiver(String receiver) {// set receiver; } public void setContent(String content) {// set content; }}Good Example:好处: 1、新增一个新的协议只要改email类 2、一个新的content只要修改content类。// single responsibility principle - good exampleinterface IEmail { public void setSender(String sender); public void setReceiver(String receiver); public void setContent(IContent content);}interface Content { public String getAsString(); // used for serialization}class Email implements IEmail { public void setSender(String sender) {// set sender; } public void setReceiver(String receiver) {// set receiver; } public void setContent(IContent content) {// set content; }}
转载于:https://blog.51cto.com/qianray/1878308