随笔分类 - 系统架构
摘要:其实所有设计模式都是有EIT结构组成,EIT就好比原子,具体的模式好比分子,分子由原子组成。 比如现在要画两幅画,这两幅画的背景都是蓝天白云,其中一幅画的前景是海鸥, 另外一幅画的前景是风筝。那么应该把不变的部分提取到父类,也就是把背景提取到父类,变化的部分放到子类。 public class E
阅读全文
摘要:背景简介: 开发软件,项目划分几个小组:需求组,美工组,代码组。 开发流程,客户提出需求=》需求分析=》美工设计界面=》写代码实现功能 //项目小组抽象类 public abstract class Group { public abstract void find(); public abstra
阅读全文
摘要:我们开发项目的过程中通常会碰到一种需求,某个对象包含多种状态变化的可能性,随着状态的变化行为也执行不同的动作。 以电梯来举例: 电梯最基本具备 开门、关门、上下走动、停止 这四种状态。状态与状态之间有约束的关系,比如只能在关门的情况下才能走动。 所以用传统面向过程的解决方案,就必须要用状态值来标记每
阅读全文
摘要:装饰模式可以给我们很好的帮助,通过装饰模式重新封装一个类,而不是通过继承来完成, 简单点说,三个继承关系 Father,Son,GrandSon 三个类,我要再 Son 类上增强一些功能怎么办? 我想你会坚决的顶回去!不允许,对了,为什么呢?你增强的功能是修改 Son 类中的方法吗?增加方法吗 ?
阅读全文
摘要:访问者模式最常用的使用场景是统计功能(报表)、数据过滤功能(拦截器)、或者结合别的模式来使用(状态模式、代理模式等) 我们以统计功能举例来说明访问者模式的使用 核心是,分两个模块 一个模块负责数据的产生 一个模块负责遍历数据,展示数据。 我们先看下在不使用访问者模式的情况下的数据展示处理 这样处理的
阅读全文
摘要:电影无间道很多人都看过,讲的是关于黑社会与警局卧底的故事。 我们今天就聊一下无间道和面向对象的观察者模式到底有什么关系。 那观察者模式在什么情况下使用呢? 观察者可以实现消息的广播,一个消息可以触发多个事件,这是观察者模式非常重要的功能。 使用观察者模式也有个重点问题要解决: 广播链的问题 如果你做
阅读全文
摘要:1、无框架结构,直接调用底层API以往是底层平台(操作系统)提供API让上层APP去调用。这样的软件控制权在APP上。举例 APP调用了平台的函数 Fun1,那么平台要对Fun1进行维护不敢随意改变这个函数,系统的更新成本大,上层APP越多,维护成本越大,导致到平台被局限。 2、单层框架结构为了让系
阅读全文
摘要:重构的好处:重构能够改进软件设计,随着项目需求的变更,项目体积的变大早已与最初的设计大相径庭,代码结构变得凌乱、复杂,如果不进行重构,则很难添加新的功能。 1、使项目代码更容易理解很多情况下是由于项目赶进度和不注重质量导致的。那么通过重构可以帮助代码维持自己该有的形态。项目开始的时候,设计并没有考虑
阅读全文