UML-重构】的更多相关文章

简单的使用一下字段改名 为什么使用字段改名: ​ 你在一个软件上做的工作越多,对这个软件的数据的理解就越深刻,你需要把这些理解融入到代码中.利用名字的解释作用,让代码更容易被理解. 如何找到该变量的所有引用点 类的私有字段: ​ 直接修改该字段名称,那么所有引用这个变量的地方将会报红,我们就找到了类中这个字段的所有引用点,之后用新名称依次修改这些引用点. 实战: ​ 这个日志切面类LogAop中的字段clazz和method分别表示被访问的类和被访问的方法.更合适的名称是visitClass,…
刚开始画图时确实很纠结,那时候是在师父的逼迫下不得不画,不过这样也是有好处的,在师父的强烈要求下,我学会了如何使用EA,也对一个学习一个新的软件有了一个更好的方法,可以去找一些视频,或者文字资料来帮助我们学习使用新的软件. 每一次画图都有一次新的认识,经过这次又条例的整理之后对软件的需求有了更深的理解,我们分这么多层就是为了能够更好的解耦合. 下面是我针对此次个人重构画的图 U层:每个功能是一个类 Facade层: 进一步提高的地方:要将每一个功能分清楚应该属于哪一个类,这样能够均衡,画时序图时…
1. 引言     从大一开始学习编程,到如今也已经有两年了.从最初学习的Html,Js,JaveSe,再到JavaEE,Android,自己也能写一些玩具.学习过程中也无意识的了解了一些所谓的设计模式,如今打算系统的学习.学习以书<设计模式的艺术--软件开发人员内功修炼之道/刘伟著>为主.       所谓设计模式,即是前人对某类相似问题的抽象给出的解决方案.书中给出了23(Gof)+1(简单工厂模式)种设计模式.每种模式的学习将关注以下几点:名称(Name),问题(Problem),解决方…
<小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下UML类图中6大关系了.这6大关系分别是Inheritance(继承).Implementation(实现).Dependency(依赖).Association(关联).Aggretation(聚合)和Composition(组合).在这6大关系中,依赖.关联.聚合和组合是比较容易混淆的,我也会讲解它们之间…
阅读目录: 1.开篇介绍 2.不影响对象中的逻辑行为(枚举.常量.Entity子类来替代类型码) 3.影响对象中的逻辑行为(抽象出类型码,使用多态解决) 4.无法直接抽象出类型码(使用策略模式解决) 1]开篇介绍 说到类型码,我们都会很有印象,在某个Entity内部多多少少会出现一两个类型码来表示当前Entity在某个抽象角度属于哪一种层面,比如在EmployeeEntity中,基本上会有一个表示性别的Sex的属性,同时Sex属性的最终保存是在某个sex字段中的,它就是很典型的类型码元素:Sex…
关于MVC的争论 关于MVC的争论已经有很多,对此我的观点是:对于iOS开发中的绝大部分场景来说,MVC本身是没有问题的,你认为的MVC的问题,一定是你自己理解的问题(资深架构师请自动忽略本文). 行文过程中查阅了互联网上的大量文档,其中水平良莠不齐(最常见的就是MVC改个名就当MVVM的),当然也有许多非常有价值的参考资料,在文末会逐一列举,以供参考. iOS中的MVC和MVP Cocoa版本的MVC 根据官网上的描述, Cocoa中的MVC是这样的: Model Objects Encaps…
关键字:OOAD.UML.设计模式 各位园友,大家好,我是Bobby,在学习OOAD和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料 [内容简介]掌握某种开发语言,让你实现了由零到一的脱变,如果你能掌握OOAD并能活用OOAD,则能让你实现由一到十的飞跃!知道OOAD的人很多,能在实际工作中用好OOAD的人却不多,本书为你分享作者十多年来实践OOAD的心得体会,学会活用OOAD来提升需求分析及软件设计的能力,学会活用OOAD由需求到设计全程建模.正如同,技术是条永无止境的路,每个人…
前言 上一篇中,我们用了反射工厂来解除BLL和UI层耦合的问题.当然那是最简单的解决方法,再复杂一点的程序可能思路相同,但是在编程细节中需要考虑的就更多了,比如今天我在重构过程中遇到的问题.也是接下来我要解决的问题,缓存模块.为什么要解决这个问题呢,由于我们有些下载代码运行的小伙伴,发现怎么运行报错,原来是没有装redis.可是我只想看layim和signalr代码而已啊,不想装什么redis.那么基于昨天的经验,我把缓存模块同样提取出接口,然后加了一个原始的cache层.这个cache是基于S…
UML类图画法及其之间的几种关系 最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的几种关系:泛化(Generalization).实现(Realization).关联(Association)(又分一般关联.聚合(Aggregation).组合(Composition)).依赖(Dependency) 一.类图画法 1.  类图的概念 A.显示出类.接口以及它们之间的静态结构和关…
迭代和瀑布过程 两者的本质区别是,你如何将一个项目分解为更小块. 瀑布风格基于活动来分解项目.为了构建软件,你不得不做某些活动:需求分析.设计.编码和测试.为期一年的项目可能有2个月的分析阶段,然后是4个月的设计阶段,接着是3个月的编码阶段,再接着是3个月的测试阶段. 迭代风格根据功能子集来分解项目.你可能会把一年分解为3个月的迭代.第一个迭代,处理1/4的需求,并对这1/4做完整的软件生命周期:分析.设计.编码和测试.在第一个迭代结束时,你拥有了一个做1/4所需功能的系统.然后,你再做第二个迭…