面向对象的产品观(5):具象化( 二 )
六、模块化设计的要点模块化编程之所以可以实现,主要依赖于“万物皆对象”的法则以及面向对象的三大特性:封装、继承、多态。
- 万物皆对象:世间所有的食物都是对象,不论是真实的物品,还是一段话、一个场景都可以作为一个对象。这个对象是封闭且独立的;
- 封装:将某样事物封闭成为一个对象,可能是一段代码,也可能是一个设计好的界面;
- 继承:一个对象可以获得另一个对象的属性和方法,就像中国人就继承了所有人类共有的特点。被继承的对象一般称之为基类,而那个继承它的对象就称之为子类;
- 多态:每一个子类的实际属性和方法都会有一些不同,就像中国人是人类的子类,中国人既有全部人类都有的特点,又有独属于自己的特点。
七、善用封装在我们实际设计的过程中经常会碰到多个页面都会出现相同的元素,如多种不同状态的订单列表。这时候按照常规的做法,大家都会使用复制粘贴将同样的订单信息复制到多个不同的列表页面。
这种做法当然没有问题,但是呢:如果期间我要对订单信息进行修改怎么办呢?
我每一条订单信息都要重新修改一次,这种做法就会导致大量的时间都用来修改同样的数据上。而且如果页面太多还很有可能造成错漏的情况。
这个时候我们可以将重复的元素封装为一个独立的模板,所有关联的页面都统一使用这个模板,下次如果要修改时,直接修改模板即可同时修改所有关联的页面。
这样做的好处是让原型的模板可复用性大大增强,而且可以避免大量的错漏问题。
同时如果一个产品特别庞大,需要一个专门的产品设计团队在进行设计的话,封装模板可以提升团队合作时的效率,毕竟已经封装好的模板可以直接拿来使用,避免了重新造轮子的工作,大大提升了团队工作的效率。
现在市面上主流的原型设计工具如Axure,墨刀等都有一个“母版”功能,该功能就可以非常方面的做到封装对象。
或许Axure的创始人在最初设计产品的时候就已经考虑到了页面复用的问题,所以他一开始就设计了“母版”这样出色的功能。不愧大师手笔,我等凡人只能膜拜。
八、模板的继承模板的继承实际上是封装基础上衍生出的新特性,在制作原型的过程中会出现几个关联页面框架相同,但是框架中的元素不一样的情况。
这时候可以将大家都一样的元素封装为一个模板,这个模板作为所有页面的基类,所有的页面都是用这个模板,在这个模板上添加元素。
这样的好处也是显而易见的,这样可以统一相关页面的交互,尤其是在团队协作的过程中规避每一个人都设计出不同风格页面。在实际工作中同样可以使用“母版”来进行基类的设计。
九、多态如上文所述,设置好了基类模板并且让相关联的页面都“继承”了该模板之后,需要根据每一个页面的特点添加不同的元素,这个实际就是面向对象的多态特性。
每一个继承了同样基类的子类,都有各自不同的特点。而一旦基类发生了改变,所有的页面同样的也会改变。
最后,引用一下Python之禅的内容,来总结我对于具象层的认知:
- 优美胜于丑陋;
- 明了胜于晦涩;
- 简洁胜于复杂;
- 复杂胜于凌乱;
- 扁平胜于嵌套;
- 间隔胜于紧凑;
- 可读性很重要;
- 即便假借特例的实用性之名,也不可违背这些规则;
- 不要包容所有错误,除非你确定需要这样做;
- 当存在多种可能,不要尝试去猜测;
- 而是尽量找一种,最好是唯一一种明显的解决方案;
- 虽然这并不容易,因为你不是 Python 之父;
- 做也许好过不做,但不假思索就动手还不如不做;
- 如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然。
因为具象是一个非常复杂非常长期的过程,短时间内提升是不可能,只有在实际工作中不断的磨练,才能不断精进,真正成为独挡一面的高手。
终于讲完了面向对象产品观的五层次,依据这五个层次步步为营的演进,相信你也可以做出令人满意的产品。
但是构建产品是一个不断迭代,不断优化的过程,一个刚刚设计出的产品,只是一颗种子,后续还要经过不断的改善才能长成一个参天大树。接下来,我们一起去了解产品如何《向上生长》。
- 小米科技|性价比拉满!TCL T8E-PRO QLED智屏当属潮玩世代的必备单品
- 华为鸿蒙系统|华为汽车战略布局,进入汽车行业的底气来自哪里?(车车佳)
- 浙江省|浙江的五大富豪,四位做过中国首富,仅马云的阿里就1年纳税366亿
- iOS|恒创科技:Linux日本云服务器安全设置的基本步骤
- javascript|手机移动端的PyTorch来了,还支持JavaScript
- 中关村|柳传志在这里被骗、掘金,书写半部科技史的中关村经历了什么?
- 手机维修|手机维修的猫腻‖你是不是上当了?
- 智能化|感知局限下,车路协同的“子弹”还得再飞会儿
- 华为鸿蒙系统|都2021年底了,为何Mate40Pro还是目前公认最好用的“安卓”手机
- saas|上半年的Redmi K40 Pro,现在入手2500元不到,还等?