叨逼叨

此处记录点零散的小idea,为了避免把csdn当微博,开一篇,都记在这里吧。

  • 感觉服务注册机制,貌似也是一种依赖注入。(虽然我还没完全搞懂依赖注入),理由呢:你需要一个模块的功能,该模块作为一个服务注册上,你就能用,没注册,你的服务请求失败,这样不会出现连build都不过的情况,也达到了解耦的目的,而依赖注入貌似也是帮你完成某个对象的装配,我们可以通过控制依赖注入来灵活的配置装配对象,这样功能的变更不会影响到你的模块,依赖注入配置下就好了,同样目的是解耦。

  • 依赖注入的优势,有时构造一个对象时,很可能这个类的初始化依赖很多其他的类对象,这样一个个都初始化好了,然后再初始化我们需要的类,导致关系复杂,其他不太关心的对象都要了解它的构造过程,而依赖注入可以解决这个问题,不关心具体的组装流程。
    “大多数面向对象编程语言,在调用一个类的时候,先要实例化这个类,生成一个对象。如果你在写一个类,过程中要调用到很多其它类,甚至这里的其它类,也要“依赖”于更多其它的类,那么可以想象,你要进行多少次实例化。这就是“依赖”的意思。依赖注入,全称是“依赖注入到容器”, 容器(IOC容器)是一个设计模式,它也是个对象,你把某个类(不管有多少依赖关系)放入这个容器中,可以“解析”出这个类的实例。所以依赖注入就是把有依赖关系的类放入容器(IOC容器)中,然后解析出这个类的实例。仅此而已。”
    作者:唐思
    链接:https://www.zhihu.com/question/32108444/answer/54773302
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • builder参数构建:初始化时有很多参数,都通过构造函数设置,有时发现某些参数不需要,也要传递,导致代码写了很长很多,很多参数只能设置是null,不想写null,又要写很多不同参数构造函数,所以通过builder更灵活。

  • 浅谈天猫tangram框架
    天猫开源的tangram框架,十分适合电商平台的商品展示,方便业务的运营,但是它不支持那种卡片内有click button的处理,一般都是一整张卡片一个处理,不适合一些功能性卡片的开发。不过目前没看到有什么好的库和框架,导致recyclerview写的很烦,有个BRVAH(BaseRecyclerViewAdapterHelper)貌似可以简化写recyclerview的烦恼。不够貌似不是很知名,不太敢用。吐槽一下,android app开发都发展的过气了,很多很基础的功能的库竟然还这么不完善,一些逻辑的处理要写的很复杂,层层嵌套的,套用调侃前端的一句话,要感谢这些app(前端)开发人员,在这么混乱的框架下,仍然写出了这么多“优秀”的程序。

  • 我们写代码,究竟是在写什么?
    什么是代码,什么是技术?其实编程只是一门工程,和科学不太搭边,做科学研究的只是在利用编程手段完成一些计算处理。而大部分靠编程吃饭的人,都更关注工程方面,而工程方面,主要的关注点在于对业务的抽象能力,如果将复杂的业务抽象分类成一个个简单的模型。这个应该是考察一个工程师最重要的能力,而其他领域知识,是”技“的范畴,是一个时间,经历的积累过程。

  • 想不通android里面fragment竟然不能处理back pressed事件。
    我是个很tmd能挑刺的人,对于android系统有些接口功能的设计,感到十分“恶心”,比如这个fragment不能处理back pressed事件,比如recyclerview竟然没有官方上拉刷新,没有一个好用的播放器控件(最近封装mediaPlayer都要吐了),很多人可能很坦然的接受,对于这个问题,我的观点:如果在前几年这些都能够接受,而现在android开发已经快”穷途末路“了,竟然很多东西都如此不完善,我并不是存粹的拿来主义,什么都别人做好拿来用,而是希望有良好的分工,基础功能分层,不涉及定制化很多,性能要求很高的基础组件尽量完善,让不同的开发人员处理各自领域的事情。而不是很多东西都从玩泥巴开始。另外对于很多开发者认为研究”底层“原理才牛逼,动不动就分析底层源码的行为,面试时更是动不动喜欢问实现机制的行为,十分不赞同,底层软件就真的高深吗,软件是一个把复杂问题抽象成简单问题的过程,代码是写的简单才牛逼,而不是复杂。不论上层业务还是底层基础软件都是考验抽象,分解,归纳的架构能力。本人之前从事”内核“”驱动“开发,经常遇到很多初生牛犊动不动就想写个操作系统什么的?我一直的观点就是:这个世界上不需要那么多操作系统。如果没有革命性的技术变革,你不过就是copy一份linux,缩小版的。站在巨人的肩膀上构建你的代码,当巨人病了的时候,再去研究巨人。我看过太多自己的业务代码写的一团糟,模块分离不清,各种耦合,重复代码,却整天想着研究底层原理的开发者,先写好自己手头的代码,多看看设计模式吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux:echo命令详解

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 echo命令 用于字符串的输出 格式 echo string使用echo实现更复杂的输出格式控制 1.显示普通字符串: echo "It is a test"这里…

看年轻人如何赚第一桶金

上世纪90年代,成为百万富翁,对很多人只是个梦想。不过如今,随着经济飞速发展,拥有百万资产已经不再是神话,放眼望去,我们身边的百万富翁比比皆是,甚至很多初入社会、白手起家的年轻人&#xff0…

跨越解决方案之nginx

这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能,本篇分享的是: 【跨越解决方案之nginx】 1.背景介绍 跨域&#x…

学习 shell脚本之前的基础知识

见 : http://www.92csz.com/study/linux/12.htm【什么是shell】 简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。打个比方,如果把计算…

「分块系列」数列分块入门3 解题报告

数列分块入门3 题意概括 区间加法,区间求前驱。 写在前面 这题的方法与分块2方法极其类似,建议自行解决。 正题 和上一题类似,但是二分不是用来计数的,而是用来求小于c的最大值的。然后对于不完整快,将小于c的值求最大…

创业者自述:我的第一桶金是如何来的

记者采访王宏筠的当天,北京气温已达到30℃,王宏筠从他的铁灰色奥迪A6车上下来,一身挺括的西装,打着领带,肩上背着一个超大的牛皮包。后来他对记者说,穿西服是因为多年在外企养成的习惯,一年中至…

Git cherry-pick后再merge出现一个“奇怪”的现象

背景描述:有的时候基于一个master branch拉出一个独立feature分支做开发时,两条分支都在并行开发,如果master分支增加了某些功能,解决了某些关键bug,而独立feature分支不需要所有的增加的commit,只需要某一…

inux系统中如何进入退出vim编辑器

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 VIM编辑器,可以新建文件也可以修改文件,命令为:vim AAA 。AAA就是文件名。 如果这个文件&#xff…

C++ 智能指针六

/* 智能指针unique_ptr */#include <iostream> #include <string> #include <memory> #include <vector>/*unique_ptr 独占所指向的对象, 同一时刻只能有一个 unique_ptr 指向给定对象(通过禁止拷贝语义, 只有移动语义来实现), 定义于 memory (非memo…

如何掘到第一桶金

第一种类型&#xff1a;才智高远型 典型代表&#xff1a;《福布斯》中国富豪榜排名第一位、个人资产总计达到83亿元的中国希望集团刘氏兄弟。 与一般的创业者不同&#xff0c;刘氏四兄弟刘永言、刘永行、刘永美、刘永好一开始就悟透了“舍得”二字。他们本来都在国家企事业单…

Sublime Text3中文环境设置

Sublime Text3中文环境设置 1、首先打开安装好的的Sublime软件,选择Preferences下面的Package Contorol选项出现弹窗方框 2、在弹窗输入install package,选择对应&#xff08;默认第一个&#xff0c;如图这个&#xff09;命令点击进入;安装的时候&#xff0c;左下角会有进度条显…

C/C++图形化编程(2)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 站在巨人的肩上是为了超过巨人&#x…

Git clone之后你的硬盘上究竟发生了什么?

网上关于Git的使用有太多的博客&#xff0c;文章在讲解了&#xff0c;大部分是在讲解命令的用法&#xff0c;剩下一部分则在讲解git的内部原理&#xff0c;看过讲解基础命令使用的文章后&#xff0c;正常的开发使用是没有什么问题的了&#xff0c;而如果想更深入的了解git“高级…

Shell 语法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 运行sh脚本的2种方法&#xff1a; ./AAA。sh 或者 sh AAA.sh 。&#xff08;其实后辍名不重要。是txt也是可以运行的。&#xff09;…

感知机模型的对偶形式[转载]

转自:https://blog.csdn.net/jaster_wisdom/article/details/78240949#commentBox 1.区分一下易混淆的两个概念&#xff0c;梯度下降和随机梯度下降&#xff1a; 梯度下降&#xff1a;一次将误分类集合中所有误分类点的梯度下降&#xff1b; 随机梯度下降&#xff1a;随机选取一…

Android Studio常用快捷键

注&#xff1a;本文大部分内容转载自——码个蛋微信公众号里的“熟练这些&#xff0c;才会知道 Android studio 有多高效”由于是微信公众号通过传送门看的&#xff0c;没有原文链接。 显示方法的参数 当我们使用一个方法的时候&#xff0c;会在刚开始的时候显示出所有的参数。…

中国城市政治地位,政治地位决定一切!!!

第一政治等级&#xff1a;省级城市&#xff08;包括直辖市、特别行政区&#xff09;6个 北京市、上海市、天津市、重庆市、香港特别行政区、澳门特别行政区 第二政治等级&#xff1a;副省级城市&#xff08;含五个计划单列市&#xff09; 15个 沈阳市、大连市&…

Shell 字符串截取

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Linux 的字符串截取很有用。有八种方法。 假设有变量 varhttp://www.aaa.com/123.htm 1. # 号截取&#xff0c;删除左边字符&#xff0c;…

go语言渐入佳境[6]-operator运算符

运算符和其他语言一样&#xff0c;Go语言支持多种运算符&#xff0c;用于对变量进行运算。12345678910111213package mainimport "fmt"func main(){ //math() //relation() //logic() //wei() Assign()}算术运算符123456789101112func math(){ a : 4 b:2 fmt.Printf(…

Android应用开发—setResult()的调用时机

本文转载自setResult()的调用时机&#xff0c;此处做了重新的排版&#xff0c;只是感觉markdown的排版比较好看些&#xff0c;侵删。 今天遇到这样一个问题&#xff0c;我在Activity-A中用startActivityForResult()方法启动了Activity-B&#xff0c;并且在B中通过setResult()方…