编程思想六大原则


想要成为优秀的开发人员,就要制定一些规范和规则或者叫原则。比如见名知意的命名规范,驼峰命名方式,常量用全大写等等。不要搞一些拼音或者aa,bb这种东西,拼音还好点,aabb的真的不知道是什么玩意。开发过程中还是有一些原则的,如果用好了,会让你的代码比较灵活。

单一职责原则

这个比较简单,就是尽量把相同的功能放到一起,不要把所有代码都写在一个类里面。只要功能不一样就写一个新的类。目的就是降低耦合。
我从Android的角度说,大概就是Android原生的MVC结构,在一个activity里面又是控制页面显示,又是获取数据,又要编写逻辑,基本上在一个activity里面做了所有的工作,倒置这个activity很臃肿,代码特别多,如果业务有变动,或者需要增加新需求,这时候该代码,找插入点都费劲,而且经常动一发而牵全身,改一个地方,好几个地方抛红。
尽量把功能都分开,访问网络放在一起,操作数据库放在一起,业务逻辑单独抽取,后面就诞生了MVP结构,如果业务太多,甚至可以抽取集合业务层。

里氏替换原则

大概意思:就是你在集成父类的时候,可以扩展功能,但是尽量不要覆盖父类的功能。
通俗的说,就是子类继承父类,可以增加方法,尽量避免重载。因为其他类如果用了父类的方法,你这个子类给重载了,这个方法执行的功能就改变了,可能会导致其他引用出问题。
在数据库中也有这个思想,我在接手别人的项目的时候,有需求或者bug,尽量增加字段,避免修改字段,修改字段容易引起旧的业务产生问题。

依赖倒置原则

大概意思:充分体现java的多态思想,一个接口,多个实现。面向接口编程。
经典的就是List下有ArrayList,还有一个LinkedList,List list=new ArrayList();然后你觉得ArrayList不好,换成了LinkedList,其他代码不用动,直接换了保存的数据结构了。
咱们自己开发的时候,可以仿照List写法。尽量多抽取,代码更加灵活。

接口隔离原则

大概意思:就是要精,接口要做到精,尽量多思考扩展性。如果是不通的功能,可以多写一个接口,java可以多实现。
还有一点要注意,不要是个方法就抽接口方法,这样接口里一堆方法,还是臃肿,没啥意义。

迪米特原则

大概意思:最少知识原则,就是说与我无关的,都不要放到我这个类中。降低耦合性。感觉和单一职责差不多。都是为了解耦。
Android中的MVP结构就充分体现了这个思想,v就是layout布局和activity,p层就去处理业务逻辑,M层都一样,都是操作数据的。给activity创建一个接口,用来回调,activity里面持有P层实体对象,p层持有这个activity的接口,专门用来回调操作页面显示的。然后p层里面new一个M层的实体,用来操作数据。这样P层做的工作就有点多了,但是这个P层你可以创建多个,activity多依赖几个P,就可以了。

开闭原则

大概意思:对扩展开发,对修改关闭,感觉和里氏替换原则差不多,就是说扩展可以,但是不能修改。
如果你有新的需求了,尽量新建一些class文件实现,不要在原有的代码中增加了,如果和原来的文件有关联,该改的还是要改。尽量别改就是了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值