设计模式学习记录
文章平均质量分 63
设计模式学习记录
电商架构修炼
keep writing and sleeping
展开
-
读设计模式之美(六)
31:让你最快速改善代码质量的20条编程规范(上)?接下来三节课,分别介绍编码规范的三个部分。命名与注释、代码风格、编程技巧。命名的好坏,对于代码的可读性来说非常重要,甚至可以说是起到了决定性的作用。命名能力也体现了一个程序员的基本编程素养。一:命名1:命名多长合适?不同作用域区分处理。小作用域,可以使用相对短的;大作用域,推荐长命名。命名的一个原则就是:以能准确达意为目标。学会换位思考,从阅读者的角度考量命名是否足够直观。2:利用上下文简化命名3:命名要可读、可搜索4:如何命名接口和抽原创 2021-10-19 11:46:04 · 1606 阅读 · 0 评论 -
读设计模式之美(五)
27:什么情况下要重构?为什么要重构?又该怎么重构?真正进行代码重构的人不多,而把持续重构作为开发的一部分的人,更是少之又少。1:重构的目的,为什么重构?重构是一种对软件内部结构的改善,目的是在不改变软件可见行为的情况下,使其更易理解,修改成本更低。为什么重构?1.重构是保证代码质量的一个极其有效的手段。2.优秀的代码都是迭代出来的。3.避免过度设计的有效手段。重构对一个工程师技术的成长也有重要的意义。2:重构的对象,到底重构什么?1.大型重构:系统、模块、代码结构、类与类之间的关系。对原创 2021-10-18 18:02:35 · 1517 阅读 · 0 评论 -
读设计模式之美(四)
23:针对业务系统的开发,如何做需求分析和设计?1:需求分析技术人也要有产品思维,对应产品设计、需求分析,我们要学会“借鉴”。2:系统设计合理的将功能划分到不同模块。设计模块之间的关系。设计模块的接口、数据库、业务模型24:如何实现一个遵从设计原则的积分兑换系统?1:为什么要分MVC三层开发?1:分层能起到代码复用的作用。2:分层能起到隔离变化的作用。3:分层能起到隔离关注点的作用。4:分层能提高代码的可测试性。5:分层能应对系统的复杂性。2:BO、VO、Entity存在的意义是原创 2021-10-17 22:25:17 · 1439 阅读 · 0 评论 -
读设计模式之美(三)
15:对于单一职责原则,如何判断某个类的职责是否单一?1:概念单一职责原则:A Class or module should have a single reponsibily。一个类或者模块只负责一个职责。不要设计大而全的类,要设计粒度小,功能单一的类。2:如何判断类的职责是否单一?不同应用场景,不同阶段的需求背景下,对同一个类的职责是否单一的判定,可能是不一样的。我们可以先实现一个粗粒度的类,然后在业务发展过程中拆分成细粒度的类。也就是所谓的持续重构。提供几条判断原则:1:类中的代码行数原创 2021-10-16 14:25:03 · 1540 阅读 · 0 评论 -
读设计模式之美(二)
11:业务开发常用的基于贫血模型的MVC架构违背了OOP吗?1:什么是充血模型?什么是贫血模型?充血模型:只包含数据,不包含业务逻辑的类。(重Service轻BO)贫血模型:数据和业务逻辑在同一个类中。(轻Service重BO)2:为什么基于贫血模型的传统开发模式违背了OOP?贫血模型将数据和操作分离,违背了封装的特性。3:基于贫血模型的的传统开发模式既然违反了OOP,为什么还如此流行?1:开发系统比较简单,贫血模型足以应付。2:充血模型更有难度。3:思维固化,转型有成本。4:什么情况下原创 2021-10-14 14:17:00 · 1523 阅读 · 0 评论 -
读《设计模式之美》一
04:当谈论面向对象的时候,我们到底在谈什么?面向对象有两个非常重要和基础的概念,就是类和对象。以类和对象作为组织代码的基本单元。四大特性:封装、继承、多态、抽象。面向对象分析和设计:最后的产出是类,围绕对象和类来展开分析和设计。05:封装、抽象、继承、多态分别可以解决哪些编程问题?1:封装也叫数据访问保护。仅开放有限的接口。需要“访问权限控制”的语法机制支持。类比于冰箱而言就是功能按钮不要弄太多。2:抽象隐藏方法的具体实现。通过函数来实现。人类处理复杂问题的通用有效手段。很多原则提原创 2021-10-12 22:58:32 · 1558 阅读 · 0 评论 -
读《设计模式之美》零
最近准备对设计模式做一个整体的学习,补上这一块的技能空缺,之前虽然阅读了些《代码整洁之道》,也收益不少,而代码质量一直是现阶段比较重视的一个技能,设计模式作为编码中绕不开的一个技能包,值得投入精力学习一下。这次学习的内容,是极客时间上比较受读者喜欢的王争老师的《设计模式之美》,现对学习内容做一个笔记归纳,方便学习过程中加强理解,也为了后期复习时可以快速回忆起学习过的内容。第一部分主要是对整个专栏内容做一个概览,可以根据需要选择性入坑。01:为什么要学设计模式?1:应对面试中的设计模式相关问题(基本功原创 2021-10-11 23:07:38 · 1679 阅读 · 0 评论