码迷,mamicode.com
首页 > 其他好文 > 详细

设计原则之单一职能原则

时间:2016-11-30 23:23:16      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:设计原则之单一职能原则   java   design pattern   

设计原则之单一职能原则

动机:
        一个职能被考虑成为只有唯一理由去改变,如果我们有两个理由去改变一个类,我们要把这两个功能分成两个类。每个类只控制一个职能,如果在未来有一天我们做某个改变,去改变对应的类就行了。
目标:        一个类应该只有一个被改的理由。

Bad Example:缺点:
    1、新增一个新的协议将会带来一个新需求,要为每种域序列化内容。
    2、内容不一定是string,也会有html等其他形式。

// single responsibility principle - bad example
interface 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 example
interface 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; }
}


本文出自 “不死的小强” 博客,请务必保留此出处http://qianray.blog.51cto.com/4607992/1878308

设计原则之单一职能原则

标签:设计原则之单一职能原则   java   design pattern   

原文地址:http://qianray.blog.51cto.com/4607992/1878308

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!