
架构师成长之路
文章平均质量分 70
架构师学习
Ariel_欢
君子不器
展开
-
依赖示意图如何称之为模型
模型架构,一层一层的架子,看着很虚,但是符合工程化:快速(多人同时开发,保证不冲突)、规模大、低代码,低成本、代码解耦合、高复用、高拓展、高维护。产品上线以后:扩充:随着使用的人数逐渐增加,用户需求的变化,可拓展维护:一个功能的多样化,可以通过配置进行维护原创 2022-10-01 18:40:58 · 950 阅读 · 0 评论 -
代码如人生——修窗户的思考
代码如人生,如果生活中的事情都处理不好,那怎么写好代码呢?如果生活中事情的逻辑都搞不清楚,怎么能保证写的代码是逻辑清晰的,符合开闭的呢?原创 2022-09-26 17:14:17 · 438 阅读 · 1 评论 -
无限思维--相同的代码不同的思想决定不同的发展和未来
我们做软件开发的需要有想象力和创造力,这是需要在学习代码过程中不断的去培养和提高的一个过程。同样代码,不同的人看到的却是不同的思想,不同的发展与未来。原创 2022-06-19 18:09:01 · 260 阅读 · 2 评论 -
面向对象-通过代码分析多态
多态是指为不同数据类型的实体提供统一的接口,也就是同一操作作用于不同的对象,可以有不同的解释产生不同的执行结果。如何用代码和这句话进行一 一映射?原创 2022-06-07 21:31:17 · 289 阅读 · 4 评论 -
面向对象-封装继承多态
一、什么是封装?请详细解释。主要封装哪些内容?①每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。这样方法和属性包装在类中,通过类的实例来实现。②封装:隐藏对象的属性和实现细节,仅对外公开接口,并控制在程序中属性的读和修改的访问级别。封装:要有装更要有封:把对象的属性和方法装在类中,还得封起来(访问修饰符的权限问题)二、什么是继承?继承的主要目的是什么?继承与实现之间有什么关系?1.继承定义了类如何相互关联,共享特性。2.主要目的:为原创 2022-05-27 21:25:20 · 1197 阅读 · 5 评论 -
业务架构图总结
参考本人博客:架构师养成记——业务架构图的学习_Ariel_欢的博客-优快云博客_什么是业务架构图总结架构图规范:宏观出发1、整体结构2、色彩搭配①架构图让读者看到的第一眼,应该给读者留个好印象,从色彩搭配上来看,颜色不超过5个,颜色搭配要有所区分,不同层级、不同类型要颜色不同,但是也不能太跳脱,整体上颜色风格要一致,图的美观设计最起码要符合大众审美。②第二眼看的应该是整体结构,整张图一共分为几个层次模块,架构图是不是能清晰的表达模块与模块之间的关系?纵向:分层——上层依赖于下层越底原创 2022-05-16 18:51:37 · 608 阅读 · 1 评论 -
原型图的画图要求
一、原型图作用当我们开发项目的时候,画好原型图可以帮助我们提前看到产品的界面样式,以及提前模拟出功能按钮之间的转换关系。类似于建筑中的模型。二、为什么要画原型图?将需求可视化。能够让我们的需求落地、通过图形化的界面展现出来更具真实性三、谁来画原型图?产品四、原型图的规范有哪些?1、画原型图的时候不要截图:原因:①从开发阶段来说:在开发过程中应该是先进行原型图的绘制,与需求方进行交流,是否符合需求再进行开发,而不是开发完再以开发之后的产品页面以截图的方式作为原型图,这本身就是不原创 2022-05-16 18:47:02 · 824 阅读 · 1 评论 -
类图的作用与画图规范
一、概念类图是面向对象编程的起点和依据。它是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系,它用于描述系统的结构化设计。二、类图的作用类图用于描述系统中所包含的类以及它们之间的相互关系,帮助我们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。三、什么时候画类图类图主要用在面向对象软件开发的分析和设计阶段,描述系统的静态结构。类图中包含从用户的客观世界模型中抽象出来的类、类的内部结构和类与类之间的关系。它是构建其他设计模型的基础,没有类图原创 2022-05-16 18:27:34 · 8661 阅读 · 1 评论 -
为什么要画ER图?有哪些画图规范?
一、概念E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型举例:二、组成部分实体:一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。使用矩形表示,框中记入实体名:属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。对于主属性名,则在其名称下划一下划线。使用椭圆形来表示,将属性名记入框中:原创 2022-05-16 18:19:23 · 5840 阅读 · 1 评论 -
再度思考面向过程和面向对象
面向过程和面向对象的区别:(1)从设计思路来看。面向过程:程序设计的重点是分析解决问题的步骤,以及完成步骤的流程,是一种结构化自上而下的程序设计方法。即面向过程注重的是解决问题的具体步骤。面向对象:程序设计的重点是把构成问题的事物分解成对象,从局部着手,通过迭代的方式逐步构建出整个程序,是一种以数据为核心,以类设计为主的自下而上的程序设计方法。即面向对象注重的对象,注重的是“谁”来干事,而不是怎么干事。注重的是多少人来干事,而不是干多少事。(2)从适用范围来看。面向过程:由于不涉及实原创 2022-05-13 21:14:01 · 1108 阅读 · 1 评论 -
深度理解面向对象的基础-抽象(一)
前言:面向对象这个词对于我们程序开发人员来说,应该都不陌生,我们总说开发要面向对象,但实际上在编写代码的过程中,很多人虽然实现了封装、继承、多态但却不是面向对象的程序设计,而是面向过程的实现逻辑,徒有面向对象的形,却没有面向对象的魂。今天我们首先来深度理解一下面向对象的基础——抽象!!!1、面向对象的三大特征是什么?封装、继承、多态2、面向对象的基础是什么?抽象3、为什么说面向对象的基础是抽象?什么是抽象?抽象就是把事物的信息细节进行提炼、抽象,找到事物的本质和重要属性,以求原创 2022-05-05 21:26:04 · 2092 阅读 · 1 评论 -
产品设计理念——让软件的使用者成为软件的设计者&如无必要勿增实体
产品设计理念一:如无必要,勿增实体如无必要,勿增实体?“如无必要,勿增实体“”这个原理来自于奥卡姆剃刀定律(Occam's Razor, Ockham's Razor),它是由14世纪来自奥卡姆的逻辑学家威廉(William of Occam,约1285年至1349年)提出。这个原理称为“如无必要,勿增实体”,即“简单有效原理”。它的本意是:如果有两套理论都可以解释一件事情,用那个简单的理论。空洞无物的普遍性要领都是无用的累赘,应当被无情地“剃除”。但现在大家提到“奥卡姆剃刀定律”,更多是取它的原创 2022-05-03 13:51:49 · 3456 阅读 · 3 评论 -
产品设计理念——无处不入口,无处不按钮
“无处不入口,不处不按钮”不知道你是否能理解这句话。从字面意思理解,目之所及皆可是入口,皆是按钮。微软的操作系统就充分展现了“无处不入口,无处不按钮”的产品设计理念!!!比如:操作系统页面上任意位置的鼠标右键都会对应出现不同的功能菜单,实现你可能的需求。看似没有按钮,但实际上到处都是按钮,都是入口:在我们AR系统中,体现“无处不按钮,无处不入口”的功能:总结:在做产品设计的时候,首先应该是把用户所有的需求都要满足,又不能把所...原创 2022-04-30 15:55:33 · 798 阅读 · 1 评论 -
如何使我们的水平达到世界顶级的水平?——你的老师就在你的面前
①发现身边的老师,随时随地学习②站在巨人的肩膀上③借助互联网学习④不怕不知道,就怕不知道原创 2022-04-27 15:29:24 · 284 阅读 · 2 评论 -
深度思考Java中abstract的用法
一、作用范围1、类作用于类上时,表示此类为抽象类。抽象类中可以没有抽象方法,但是抽象方法必须存在于抽象类中。2、方法作用于方法上时,表示此方法为抽象方法,不得有方法体。3、为什么不修饰变量?因为变量也是通过方法进行修改和执行。二、接口能继承接口吗?接口能实现接口吗?为什么?接口可以继承接口,不可以实现接口。因为实现接口需要实现其内部细节,而接口不能有具体实现的行为。三、说明1)强制重写当子类继承抽象类时,若子类不是抽象类,则必须重写父类中的所有抽象方...原创 2021-02-28 20:25:29 · 2687 阅读 · 19 评论 -
关窗户和代码——学习12字原则:授之以欲,受之以愉,渔之以渔
关于关纱窗关窗户事情引发的五个讨论:● 关窗户和写代码什么关系?● 软件设计原则,有什么?● 为什么要有“开闭原则”?● 学习的12字原则,都是什么?● 迪米特法则,是什么?回答:● 做事情和写代码一样,要有逻辑,顺序和判断。与代码中的三大结构:顺序结构、选择结构和循环结构三大结构有关。代码:if… else …如果纱窗开着(纱窗展开着),则先关闭(合上)纱窗再关上窗户。或者是:如果窗户关着,则纱窗不用关闭(合上)。——很正常的逻辑,一是纱窗关着(展开着)挡着窗户怎么关窗;二是窗户关上了,还用原创 2020-09-23 22:04:32 · 503 阅读 · 16 评论 -
米老师讲课:面向过程和面向对象的区别、面向切面编程
文章目录面向过程(Procedure Oriented)面向对象(Object Oriented)面向切面(AOP)一、面向过程(POP)与面向对象(OOP)的区别:面向过程(Procedure Oriented)面向对象(Object Oriented)面向切面(AOP)最近非常有幸,米老师亲自给我们讲课,首先让我们就面向过程编程(POP)、面向对象编程(OOP)和面向切面编程(AOP)...原创 2019-12-24 11:54:46 · 1356 阅读 · 23 评论 -
代码规范!
在说代码规范之前我们先了解一下什么是规范,规范意指符合逻辑,客观、真实、全面。明文规定或约定俗成的标准。我们今天要分享的代码规范则是程序员在编写代码时要遵循的符合逻辑,约定俗成的标准。#①为什么要代码规范呢?俗话说:“无规矩不成方圆”,做事情必然要有一定的规矩,做起事来才不会乱。有人云:“一个人可以走的很快,但是一群人可以走的很远”,在公司里,尤其是做项目,总是以团队为力,不可能凭一己之力...原创 2020-01-05 21:38:21 · 741 阅读 · 13 评论 -
让你彻底搞懂迪米特原则在代码中究竟是如何体现的
文章目录 前言迪米特代码实例demo1demo2demo3demo4 揭秘demo面纱demo1demo2demo3demo4 迪米特原则优缺点结论 前言 说到迪米特原则,后面总能跟上一两句,“最少知道原则,一个类对另一个类知道的越少越好。” 今天主要从代码实例中寻找迪米特的身影,综合实例来看迪米特什么时候适用?迪米特的优缺点?是不是符合迪米特原则的代码就是优质代码?带着这几个问题,我们下面开始探讨。 迪米特 迪米特法则(Law of Demeter),如果两个类不必..转载 2021-03-29 23:19:35 · 434 阅读 · 6 评论 -
SQL-order by 和 limit 用法
题目一:sql查找最晚一天,日期最大的一条记录 两种方法例:查找最晚入职员工的所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL, --'员工编号'`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date NOT原创 2021-04-27 14:24:55 · 11690 阅读 · 7 评论 -
UML六种关系在代码中的体现你真的清楚吗?
前言本篇文章是小编采用代码与图(IDE逆向工程生成)对应的方式进行研究和探索。众所周知,uml六种关系强弱表示:继承>实现>组合>聚合>关联>依赖。关于UML中六大关系的图形表示想必大家已经了然于胸,但是不同的IDE编码环境对于这六种关系的图形展示也有所不同,本篇文章小编首先要为大家介绍IDE开发环境——IDER的图形表示,之后再以关系从强到弱的顺序依次为大家介绍六种关系在代码中的体现。参考博客:https://blog.youkuaiyun.com/weixin.原创 2021-02-23 09:56:30 · 867 阅读 · 20 评论 -
深度理解Java中的static
目录一、static的用法:二、static的误区(问题思考)三、问题思考:一、static的用法:static可以用来修饰类的成员方法、类的成员变量、类中的内部类(以及用static修饰的内部类中的变量、方法、内部类),另外可以编写static代码块来优化程序性能。作用:方便在没有创建对象的情况下来进行调用(方法/变量)。被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。①修饰类的成员变量:static.原创 2021-02-22 21:45:28 · 12621 阅读 · 108 评论 -
架构师养成记——业务架构图的学习
前言小编最近有幸参加架构师培训的课程,在纪老师的指导下,第一阶段已经圆满结束,第一阶段内容重点是: 在培养大家《面向对象的编程思想》以及《软件设计原则》的落地实现方案。 借助《UML》和《三类架构图》培养大家计算思维以及架构抽象能力。 小编在此过程中,收获满满,尤其是对UML中的六种关系以及业务架构图的理解和学习,特此与大家分享,希望大家可以共同进步,一起成长。业务架构图的理解——5W2H分析法 What——什么是业务架构图? Why——为什么要画业...原创 2020-08-31 21:46:04 · 5517 阅读 · 12 评论