资讯专栏INFORMATION COLUMN

解耦小技巧 - 接口最基本的使用策略

jlanglang / 2496人阅读

摘要:的动作需要依靠场景的某些属性,又需要做到解耦,因此不能让拥有的对象。

Parent -> Child

Activity -> ListItem

listitem 的动作需要依靠场景的某些属性,又需要做到解耦,因此不能让ListItem拥有Activity的对象。

可以这么做。

class ListItem {
    public interface Properties {
        boolean isTouchable();
        String getName();
        boolean isInSky();
    }
    protected Properties mProperties;
    public void setProperties(Properties p) {
        mProperties = p;
    }
    @Click(R.id.fly)
    void fly() {
        if (p != null && p.isInSky()) {
            // do fly business
        }
    }
}

DemoActivity implements ListItem.Properties {
    public boolean isTouchable() {
        return true;
    }
    public getName() {
        return DemoActivity.class.getSimpleName();
    }
    ...
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65625.html

相关文章

  • 《JavaScript设计模式》读后感 觉很复杂

    摘要:想继续了解设计模式必须要先搞懂面向对象编程,否则只会让你自己更痛苦。创建型设计模式主要有简单工厂模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式和单例模式,下面一一道来。而工厂方法模式本意是将实际创建对象的工作推迟到子类中。 接触前端两三个月的时候,那时候只是听说设计模式很重要,然后我就去读了一本设计模式的书,读了一部分,也不知道这些设计模式到底设计出来干嘛的,然后就没再看了。后...

    e10101 评论0 收藏0
  • 微服务不是全部,只是特定领域子集

    摘要:一些官宣的特性,在公司内是严格禁止的。一个超过个表的联合查询业务,大概率是不合理的。微服务就是一个多模块项目规范化的过程。服务治理微服务最重要的特色就是其治理功能。微服务引出的另外一个问题就是调用链,即某个请求的真实路径。 大家都在学SpringCloud,貌似学会了SC就牛逼哄哄,感觉不得了的样子。但微服务,在整个企业级应用中,只占了一小部分。微服务引入的问题比解决的问题还要多,你会...

    Lin_YT 评论0 收藏0
  • 第5章:可重用性软件构建方法 5.3面向复用设计模式

    摘要:共性的步骤在抽象类内公共实现,差异化的步骤在各个子类中实现子类为每个步骤提供不同的实现。模板方法将算法的骨架定义为抽象类,允许其子类提供具体行为。迭代器依次访问对象的元素而不暴露其基础表示。 大纲 结构模式 Adapter允许具有不兼容接口的类通过将自己的接口包装到已有类的接口中来一起工作。 Decorator动态添加/覆盖对象的现有方法中的行为。 Facade为大量代码提供简化的界...

    superPershing 评论0 收藏0

发表评论

0条评论

jlanglang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<