美文网首页设计模式
类功能单一化,代理,代理的代理

类功能单一化,代理,代理的代理

作者: 利炳根 | 来源:发表于2015-08-28 07:45 被阅读246次

时间有限,选择深入,放弃广博。

我把1000行的ViewController,修改成只有300行。也把原来需要15个ViewController,修改成只用1个ViewController。

这样写代码,看起来慢,实则比什么都快。因为下一个ViewController,我可以写得同样小、同样漂亮,后面的维护修改将更加一目了然、路径分明。

怎么做到的呢?
很简单:建一个对象,把本需要在原地处理扔到这个对象里面去做。

那么,我的ViewController建了什么对象呢?
4个。
1、ViewModel
2、APIHandle
3、StoreHandle
4、RouteHandle

把ViewController里做的事情分类,同一类的事情交给同一个对象处理。
这样可以剥离依赖,使类功能更专一,更利于复用,更容易测试维护,自然,程序就会写得更快更好。

对象之间互相注册代理,通过协议消息传递行为和数据。
更利于以后需求迭代、性能优化。

一块代码,是扔给代理,还是本地处理,主要看代码是否涉及本类实例变量。所有涉及本类实例变量的代码,都应该通过“代理的代理”的形式,返回本地操作。

后记(下面以聊家常为主,没时间没兴趣的朋友请直接忽略):

长久以来,人们通过更广博来增加安全感。
多一个技能,多一份工作,多一位朋友,多一本书,多一个孩子,多一笔存款。
但是,竞争无处不在,不深刻就不会有优势。输家再多,还是输家。弱项再多,还是弱项。肤浅再多,还是肤浅。
人们最终都会发现,把全世界犁一遍,除了天怒人怨、破坏生态、累死自己以外,别无用处。而定点深挖,即使收获不到金子,也至少可以得到一口活命的井水。
深入,最大的误解风险,是怕没有市场。辛辛苦苦深入半生,结果出来的东西没人要,使得自己一生潦倒。
要知道,深入,是过程,不是结果;是技能,不是印章。
一个能深入一点的人,只要愿意,就能深入一切。
所以,只需深入,无需惶恐。
做深是合作,做广是竞争。

上午,我说服了老婆要深入。晚上,我说服了老婆要广博。总算把深入的好处和风险都过了一遍。
通过这样的遍历,对深入的好坏,有了更全面的认知。
用户需要新功能,没错。但是,用你的新功能,还是用别人的新功能,就没那么简单。况且,有些新功能,只有足够深入才可能做出。
在这方面,苹果是最好的代表之一。苹果的软硬生态工艺,已经深入到让对手无从复制。当然,你可以做出同样的装饰骗消费者下单,却永远无法给出同样深度的体验。
近一点,老罗靠着局部深入优化,硬生生地打开了一片市场。“虽然不是特别起眼、重大,但只要用过了,就回不去了。”
这种小小的“回不去”,积累多了,产品在消费者的心里就树立不可动摇地位置。竞争对手将会越来越崩溃。因为复制成本越来越高,模仿又只等于帮你做宣传。

深入是积累优势,广博是浪费青春。

回到现实,不要嫌公司、项目太Low,好好去深入去优化。
记住,深入是过程,是技能。是内在,是上身的东西,永远不要去担心外放不足,或优势消失。

相关文章

  • 类功能单一化,代理,代理的代理

    时间有限,选择深入,放弃广博。 我把1000行的ViewController,修改成只有300行。也把原来需要15...

  • 代理模式和策略模式的区别

    简单代理模式与策略模式在功能上的很大的区别是: 简单代理模式中,代理类知道被代理类的行为,因为代理类与被代理类实现...

  • 静态代理、动态代理

    [TOC] 静态代理 动态代理 动态代理:在程序运行期间根据被代理的类 动态创建代理类及其实例来 完成具体的功能。...

  • 动态代理与AOP

    代理的分类 静态代理:每个代理类只能为一个接口服务 动态代理:可以通过一个代理类完成全部的代理功能(由JVM生成实...

  • 设计模式(六) -- 代理模式

    什么是代理模式 代理模式可以理解成一个类代表另一个类的功能并可加自己的代理功能。简单来说可以理解成汽车代理商代理汽...

  • JAVA代理模式

    什么是代理模式 代理类和被代理类实现同一个接口,也就是说他们有着相同的功能,区别在于,被代理类持有代理类的引用,被...

  • 代理设计模式

    一、静态代理 代理设计模式,代理类和真实类有相同接口,代理类对外隐藏真实类,使用者只关系使用的接口功能,不清楚使用...

  • Spring AOP

    Spring AOP是代理模式的经典实现,代理模式的作用就是把一些目标类没有的功能附加到代理类上,然后在代理类上执...

  • 代理模式复习

    静态代理 代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强。值得注意的是,代理类和...

  • 代理模式 - 结构型

    一、代理模式的定义在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能。注意:附件的功能主...

网友评论

    本文标题:类功能单一化,代理,代理的代理

    本文链接:https://www.haomeiwen.com/subject/rfihcttx.html