首页 > 代码库 > 设计原则之接口隔离原则
设计原则之接口隔离原则
segregate v.隔离 se 蛇 gre green格林 gate门 蛇被格林用门隔离了。 设计原则之接口隔离原则 动机: 客户不应该被强制实现他们不用的方法。应该用多个小的接口代替庞大功能全的接口。 结论: 该原则在代码设计的时候就要考虑。可以使用适配器模式将胖接口隔离。 Bad Example: 缺点: 1、如果新增一个robot机器人工人,那么eat方法就是多余的了。 // interface segregation principle - bad example interface IWorker { public void work(); public void eat(); } class Worker implements IWorker{ public void work() { // ....working } public void eat() { // ...... eating in launch break } } class SuperWorker implements IWorker{ public void work() { //.... working much more } public void eat() { //.... eating in launch break } } class Manager { IWorker worker; public void setWorker(IWorker w) { worker=w; } public void manage() { worker.work(); } } Good Example 好处: 1、接口功能最小化,需要哪个加哪个。 // interface segregation principle - good example interface IWorker extends Feedable, Workable { } interface IWorkable { public void work(); } interface IFeedable{ public void eat(); } class Worker implements IWorkable, IFeedable{ public void work() { // ....working } public void eat() { //.... eating in launch break } } class Robot implements IWorkable{ public void work() { // ....working } } class SuperWorker implements IWorkable, IFeedable{ public void work() { //.... working much more } public void eat() { //.... eating in launch break } } class Manager { Workable worker; public void setWorker(Workable w) { worker=w; } public void manage() { worker.work(); } }
本文出自 “不死的小强” 博客,请务必保留此出处http://qianray.blog.51cto.com/4607992/1878307
设计原则之接口隔离原则
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。