随记
最后更新于:2022-04-02 04:31:02
## 随记
[音乐太难懂?5分钟让你看明白五线谱!](https://www.365yg.com/a6616568174877868548)
[发音_百度百科](https://baike.baidu.com/item/%E5%8F%91%E9%9F%B3/4057222?fr=aladdin)
> 我们听到的声音,音色究竟是由什么决定的?是由震动频率和震动材料共同决定的吗?如果是这样的那么为什么喇叭的震动薄膜可以和人嗓子发出一样的声音呢?那么是由频率决定的吗?只要频率相同,那么两个声音就是一样的,而不论发声的震动体是什么?是这样的吗。胶片上只是记录了声音的频率,只要有这个频率带,我们就能在还原原声,是这样的吗?
>
> 通常不同材质的震动体发出的频率是不一样的,但是通过特殊的技巧,即使震动体的材质不同,也能发出一样的频率。这就是人们可以模仿其他人的声音的原理吗?
>
> 还有一个东西会影响人们听到的声音,这是人体传声结构的特点,人最终听到声音是经过空气,耳膜,甚至骨骼等影响的,不过这个和我们正在讨论的这个问题没有关系。
----
### 软件包依赖冲突的问题
[好机会,我要帮女同事解决Maven冲突问题](https://mp.weixin.qq.com/s/swqB37wSv4kdYcHSQwbsHg)
> 如果项目依赖A 和 B,A依赖 C 2.0, B依赖C1.0 这种情况冲突了,A B两者不能共存怎么办,能不能 实现共存,同时安装 C 2 给A用,C1 给B用?
> 那这种情况应该怎么办,只能升级B让其支持C2吗,如果B是其他人维护的,就很麻烦啊
> 答:这个如果类不一样应该可以,如果2个版本涉及到同一个类肯定不行
[问题:npm包管理的依赖包版本冲突问题如何解决呢? - SegmentFault 思否](https://segmentfault.com/q/1010000006910755)
[话说现在写PHP的用composer的多不多啊,我有一个问题请教大神 - SegmentFault 思否](https://segmentfault.com/q/1010000005121392)
> 所以唯一的办法就是找到一个**A**、**B**都能用的**C**的版本。如果不能,不好意思,包冲突,无法运行。
*****
### 面向对象的思考
面向对象的思想
编码中具体对面下对象的应用,类设计,方法设计,应当遵循什么设计方式
代码最终是进程运行时中的指令,这些指令管理进程中的变量、对象、数据等
数据在进程中流动 ,计算,最终输出结果,在外部看就是输入输出的过程,站在顶层看,类,对象,属性等其实也是数据,只不过是业务无关的数据而已
而怎么管理进程中流动的数据就是编码要做的事情,显然清晰的代码设计更利于数据高效的流动
怎么设计面向对象的代码架构,只需要遵循:
1. 结构清晰
2. 可重用,灵活,使用简单
所以如果一个数据被设计成属性,那么说明这个属性很大程度上是要具备重用的,如果设计返回值,则说明返回值是一个临时结构,不需要再对象上保存以后续使用的。
[漫画 | C语言哭了,过年回家,只有我还没对象](https://mp.weixin.qq.com/s/2G-ij_VBcLytBH_Unu_wSQ)
----
### 专业、垂直、灵活 的特定解决方案
创建一个全能的满足任何场景和需求的东西是不可能的,可行的解决方案应该是 创建 一个个 适合特定行业领域,特定场景和需求的产品,使其具备灵活性,可扩展性,专业性,数据接口开放性。然后将这些应用组合起来,使其能够相互通信交互,这样 就能够实现无编码积木式搭建完整产品了。
这里的关键是那些一个个的特定专业应用的灵活性与可扩展性,以及丰富性,只要做到这点,就将诞生一个全新的行业,设计师,产品经理,甚至外行人也能实现自己想要的任何产品,且是高性能,高质量,专业性的,优雅的。
----
last update:2018-11-17 22:23:44
';