工作三年对程序的理解特来求证
我是奋斗在河姆渡的一名普通程序员,怀揣着梦想与远大志向,为了实现理想,我需要不断完善自我,强化自我。
工作三年的我从求学开始就养成记笔记的习惯,这也使得我在平时的开发过程中经常会做一些总结性的记录,但是想法并没有得到验证,所以今天我是带着问题来的。
对于一些开发方面有一些个人的观点和想法,不高深也不是什么新鲜玩意,只是想来求证思想的正确性,以便于日后进行改正
以下内容为个人观点,特来求证其正确性,往大鸟们指点迷津!
思维一: 万变不离其宗
万变不离其宗, 无论是封装、继承、多态,还是Ioc/DI, AOP, SOA,包括抽象类和接口等等, 都是想通过各自的“奇技淫巧”从代码层/架构层等不同层面不同维度解决同一个问题,
达到同样的目的 : 高内聚低耦合,可扩展/维护性,稳定性……我们在一个点周围奋斗了N年,就为了一个点 ,封装继承多态,抽象类接口,切面编程可以看做是从代码层来实现这个点,
而类似DI,SOA这类可以看做是从架构层来达到这一的目的。
思维二:对抽象类的理解,抽象类是对对象具体行为的抽象
什么是抽象类?答案其实很模糊,基本上很多人回答或者课本上都是把抽象类的一些特征,关键字,语法等做了一次概述 ,表述起来全面但还是不够具体、鲜明、简洁
结合实际开发经验认为:抽象类是对对象具体行为的抽象
这要结合类与对象来阐述,类是对象的抽象,对象是类的具体实例,抽象类是对象行为(具体方法)的抽象,那么抽象类对于方法而言,抽象类是对方法的一种抽象,它里面包含了未实现的方法(抽象方法),
作用在于: 多态性,扩展性的体现,我们往往将一些行为(方法)的公共部分提炼出封装到抽象类或接口中, 来达到后面对此方法的扩展和实现, 比如 : PG(精灵宝可梦) 抓这个行为,我们抽象出抓方法, 具体
抓什么我们不管,后面很多需要用到这个的时候直接实现它就行。
类==对象的抽象
抽象类==对象具体行为的抽象
思维三:控制反转与依赖注入的关系
对于Ioc和DI的关系,我认为Ioc是一种思想,一种设计原则,DI是对Ioc的具体实现方式之一
以上是个人的部分观点,与大家分享的同时也有待求证
小鸟们不要胡乱认同他人未得到认证的观点,大鸟们也不要嘲笑小鸟的无知,在这个开放共享的时代需要所有开发者共同探索,共同进步