lengzds 冷伤zds
欢二二代博大精深那边还是不错滴、这次这这在博大精深那边还是不错滴、这次这这在在不不不不这嗯嗯嗯嗯嗯这这在不不在这身别动不动就金额都不知道为什么会喜那边还是不错滴、这次这这在在不不不不在这这这嗯嗯嗯这在在不不不不在在这这这这嗯嗯嗯嗯嗯这这在博大精深那边还是不错滴、这次这这在在不不不不在这这这嗯嗯嗯这在在不不不不在在这这这这嗯嗯嗯博大精深那边还是不错滴、这次这这在在不不不不在这这这嗯嗯嗯这在在不不不不在在这这这这嗯嗯嗯嗯嗯这这在不不在这嗯好好本身别动不动就金额都不知道为什么会喜嗯嗯这这在不不在这嗯好好本身别动不动就金额都不知道为什么会喜不博大精深那边还是不错滴、这次这这在在不不不不在这这这嗯嗯嗯这在在不不不不在在这这这这嗯嗯嗯嗯嗯这这在不不在这嗯好好本身别动不动就金额都不知道为什么会喜不在这嗯好好本身别动不动就金额都不知道为什么会喜不不不博大精深那边还是不错滴、这次这这在在不不不不在这这这嗯嗯嗯这在在不不不不在在这这这这嗯嗯嗯嗯嗯这这在不不在这嗯好好本身别动不动什么会喜在心里默默支持力度。嗯!好这这嗯👌不不不在在这这这这嗯嗯嗯嗯
关注数: 171 粉丝数: 51 发帖数: 1,621 关注贴吧数: 116
《架构整洁之道》7-14章读书笔记 单一职责原则。 确保一个函数只能完成一个功能,我们在将大型函数拆分为小函数时,经常会用到这个原则。 任何一个软件模块都应该只对某一类行为进行负责。 问题的根源是因为我们将不同的行为者所依赖的代码强行拼凑在一起。 里氏替换原则 里氏替换原则可以且应该被应用于软件架构层面,因为一旦违背了可替换性,该系统架构就不得不为此添加复杂的条件判断。 应对机制: 接口隔离原则。任何层次的软件设计,如果依赖于不需要的东西都是有害的。 依赖反转原则。 如果想要设计一个灵活的系统,在源代码层次的依赖关系中应该多引用抽象类型而非具体实现。 确实,我们应该在使用时引入接口,而不是引入一个具体实现。便于可查拔了。 毕竟争取在不修改接口的情况下,为软件增加新的功能,是软件设计的基础常识。 实现方式上我们通常可以用抽象工厂。 也就是我们引用factory,然后通过它的实现类impl去创建对应的我们需要的接口的实现impl。 软件中应该有一条线来划分实现类和接口类。也就是抽象层和具体实现层的边界,所有跨过这条边界的源代码级别的依赖关系,应该都是单向的。即具体实现层依赖抽象层。 组件构建的三个基本原则,第一个发布复用等同原则。 这个是说复用的最小力度,应该和发布的最小力度是一样的。 第二个是共同闭包原则。 这个是说一个组件不应该存在多个被修改的原因。 第三个是共同复用原则。 当我们需要依赖这个组件的时候,最好是可以用到这个组件里边的每一个类。
架构整洁之道1-6章读书笔记 软件架构的价值是为了让软件更加容易的被修改。也就是用更小的成本和时间去实现一个需要的功能。 我们经常犯的错误是把不重要但非常紧急的事情(业务)当成既重要又紧急的事情去优先处理。然后导致重要的事(架构)被忽略。 研发团队必须从公司长远利益的角度和其他部门抗争,提高系统架构的重要性。 三个编程范式 结构化编程是通过Ifelse语句来控制程序的执行,限制执行流。 限制了go to语句 结构化编程的最主要的思想jius 可以用类似于证明数学公式的方式证明这个程序是合理的, 比如说if else就可以通过枚举每一个变量,然后最终得出每一个分支都是可靠的。 循环可以通过证明循环一次正确,然后通过数学归纳法推导出正循环n次也是正确的。 go to这种不受限制的直接转移是有害的,会无法证明。 第二个是面向对象编程。面向对象编程主要是构建了一个类,然后只有通过类才能控制函数,这样就限制了程序执行权限的。 限制函数指针的获取 主要特性是封装、继承、多态 封装其实不是面向对象的最主要的一个核心点,因为c的封装性其实更好,.h文件里只有函数,没有变量,java能够看到privacy的变量,只是限制了修改权限。 继承,虽然面向对象编程在继承方面没有创新,但是确实不需要我们像C语言一样,就是通过一个类去伪装成另一个类来实现继承(把字段顺序和类型对应一致然后强转)。所以继承是一个面向对象的一个优势。 多态之前是通过人为规范函数指针的操作来实现,所以多态的出现是一个很大的优势。还有一个好处就是依赖反转,让模块完全变成可插拔,不是必须从上到下。 函数式编程,是对程序中赋值进行限制和规范,让你不能随意的修改一个值,程序都变成由常量+函数来实现,没有变量就没有修改冲突,也就没有预期之外的结果。(限制了值的修改)
第三章 如何构建金字塔 自上而下:先梳理观点和想法1、画出主题方框:确定主题,or step2 2、设想主要疑问:确定面对的读者,写成你希望回答读者的哪些疑问,or step4 3、写出对疑问的回答:如果没有清楚答案,请注明你有能力回答该问题 4、说明“背景”:你需要证明,现阶段你能给清晰说明这个主要的疑问和答案。具体来说,把要讨论的主题和背景结合,作出关于主题的第一个没有争议的表述。哪些表述是没有争议的?因为读者知道或者根据以往的经验很容易判断出来。 5、指出“冲突”:开始疑问/问答式对话。读者表示”对,我知道,有问题吗?“,然后你要考虑”背景“中有哪些能使读者产生疑问的“冲突”,例如发生某种意外、出现某个问题、出现不应当的变化。”背景“中有哪些”冲突“可以引起读者的”疑问“呢? 6、检测”主要疑问“和”答案“:对”背景“中”冲突“的介绍,应该诱使读者提出主要疑问(step2里的)。否则,应重新介绍”背景“中的”冲突“,如果冲突和主要疑问对不上就需要重新构思。这个是为了保证你了解你需要回答哪些疑问。其他都好说。 自下而上:从关键句开始上手 列出想表达的所有思想要点:需要采取的行动+描述(背景、介绍信息) 找出各要点之间的逻辑关系: 得出结论 如果读者在阅读的最初30秒还不能清楚了解你的全部思路,你就应该重写! 1、写作先搭结构在开始写,弄个脑图 2、先从”背景“开始构思,这样才更容易找到”冲突”和“疑问” 3、先想好需要,避免开始说明的时候还在想背景或冲突? 4、只有在描述一些通过分析发现的因果关系时,才可以在正文中列举已知信息,其他的历史背景都应放在序言里 5、序言的目的只是告诉读者一些他们已经知道的信息。不然就会有怀疑,反之,不要在论证时使用已知信息,这说明你在序言里漏掉了重要信息,这个论证是多余的。 6、关键句最后选择归纳推理法,可以用演绎法推理思想,用归纳法表达,这样表达更顺畅,结论先行。
首页 5 6 7 8 9 10 下一页