面向对象的六大原则

1、单一职责原则

简单的来说,一个类中应该是一组相关性很高的函数、数据的封装。对于一个具体的示例图片加载器,可以分为图片加载和图片缓存功能,为了满足单一职责,应该把各个功能独立出来,ImageLoader只负责图片的加载,而ImageCache只负责处理图片缓存的逻辑。而不应该一股脑的都封装在一个类中。正如上面所说,单一职责所表达的用意就是“单一”二字。对于两个完全不一样的功能就不应该放在一个类中。

2、开闭原则

软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是,对于修改是封闭的。因为修改可能会将错误引入原本已经经过测试的旧代码中,破坏原有系统。因此,当软件需要变化时,我们 应该尽量通过扩展的方式来实现变化,而不是通过修改已有的代码来实现。而遵循开闭原则的重要手段就是抽象。
比如ImageCache,一开始我们写了MemoryCache,后来因为需求,我们扩展了一个类DiskCache,最后,我们又扩展了一个双缓存类(如果MemoryCache没有找到,则去DiskCache中查找,如果还没有找到,则网络请求)。为了使扩展性、灵活性更高,MemoryCache、DiskCache、DoubleCache都实现了ImageCache接口,并且ImageLoader提供了一个setImageCache方法支持用户自定义缓存。
public interface ImageCache{
public Bitmap get(String  url);
public void put(String url,Bitmap bmp);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值