Nixo Home

Nixo浅谈设计模式

字数统计: 749阅读时长: 2 min
2019/08/14 Share

前言

  • 在我眼里设计模式是对代码的一种高度封装,让代码从幼虫变为茧的过程,在Android开发中,有很多框架的设计模式都是非常优雅高效的,例如Retrofit2中使用了代理模式,适配器模式,构造者模式将框架设计的非常完美且扩展性Nice,再例如RxJava使用的观察者模式将我们的异步开发可以像同步开发一样流式使用,这都是设计模式的资深使用,如上的那些框架并不是个人开发的,是多个工程师一起设计,一起合作打造,而在我们这些小生眼里,去理解都要抽丝剥茧的去学习,去挖掘,回首运用在自己的项目当中,这也是我们学习框架的一个主要目的,那就是学习他们的设计理念,设计模式。

设计模式有无好坏之分

  • 首先同一个需求传递给两个同样优秀的架构师,他们大多数会打造出两款不同设计理念的框架,这两款框架都实现了同样的功能,那么他们有好坏之分吗,答案是没有的
  • 因为框架的设计,甚至代码的设计都是日积月累的得到的,在每个人眼里所谓的设计都会显得大同小异,这也是设计模式没有一个绝对的概念的原因。
  • 但是一个好的设计一定会做到以下几点因素。

一个好的设计模式

  • 开闭性良好,假如这个设计可以对应未来一年的需求变动,不需要对其内部核心代码进行修改,那这个设计在开闭性上就是一个好的设计模式,如果不能满足大量的业务变更,那这个设计注定是失败的,因为在不断修改核心的过程中,会变得愈发耦合。

  • 可维护性良好,如果一个业务需求的设计太过晦涩难懂,在别人眼里就是一份难以过目的天书,一旦设计者离职,后续开发者接手后则会眉头一紧(心中默念不如重写~)

  • 性能良好,这点不用多说,性能很差,用户没有体验,何谈设计。

  • 满足以上条件只能算是好的设计,跟优秀还是有很大的差距,那么怎么才能算优秀的设计呢,在满足以上的基础上我总结了一点经验可以参考

  • 使用简洁,使用简洁带来的效益是很高的,从学习成本到开发效率,都会大大降低使用的门槛以及代码的可读性。

  • 体积小,这个没有绝对的概念,需要看也无需求,要和业务需求成正比的基础上尽可能减小代码体积。

CATALOG
  1. 1. 前言
  2. 2. 设计模式有无好坏之分
  3. 3. 一个好的设计模式