一、高内聚1、LSP:里氏替换原则,子类可以替换父类的实例 2、OCP:开放封闭原则,尽量通过添加代码的方式修改类的功能,对外 扩展开放,对内 修改封闭。 3、DIP:依赖倒置原则,一个类尽量依赖于接口等高端类(父类),尽量避免依赖于子类。 4、SRP:单一职责原则,类功能越少越好。 二、松耦合1、 ...
分类:
其他好文 时间:
2016-12-08 03:35:28
阅读次数:
183
问题来自于我和同事在一个跨系统交互设计上的分歧。同事的设计,基本上是这样的:这种设计很常见,其基本思路就是:服务端接口需要什么数据,客户端就传入什么数据。这种设计的优点在于简单:开发简单,交互简单。但是它的缺点也很明显:扩展性低。一旦服务端对某个业务中的业..
分类:
其他好文 时间:
2016-12-06 04:32:27
阅读次数:
219
DesignModel八大原则 一 依赖倒置原则(DIP-Delay Inversion Principle) 高层模块(稳定)不应该依赖底层模块(变化),二者都应该依赖于抽象(稳定)。 抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖抽象(稳定)。 一 依赖倒置原则(DIP-Delay ...
分类:
其他好文 时间:
2016-12-06 02:34:00
阅读次数:
127
1:依赖倒置原则在Java语言中的表现就是: 模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的。接口或抽象类不依赖于实现类。实现类依赖与接口或抽象类。 采用依赖倒置原则可以减少类间的耦合性,提高系统的稳定性,降低并发开发引起的风险,提高代码的可读性和可维护 ...
分类:
其他好文 时间:
2016-12-04 23:00:55
阅读次数:
176
单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 里氏替换原则 定义:所有引用基类的地方必须能透明地使用其子类的对象。 依赖倒置原则 定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 接口隔离原则 定义:客户端不应 ...
分类:
其他好文 时间:
2016-12-02 11:53:09
阅读次数:
173
单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 里氏替换原则 定义:所有引用基类的地方必须能透明地使用其子类的对象。 依赖倒置原则 定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 接口隔离原则 定义:客户端不应 ...
分类:
其他好文 时间:
2016-12-01 22:05:45
阅读次数:
219
1.依赖 依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖。如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它。下面看一个简单的示例: 上面是一个用户用播放器播放文件简单示例,用户操作是OperationMain类中的Pl ...
分类:
其他好文 时间:
2016-12-01 13:49:02
阅读次数:
171
单例模式,也就是只有一个实例0-0 这也是设计模式中最简单的一个模式, 所有,我要始终记住,设计模式的六大原则 单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 里氏替换原则 定义:所有引用基类的地方必须能透明地使用其子类的对象。 依赖倒置原则 定义:高层模块 ...
分类:
其他好文 时间:
2016-11-30 22:54:19
阅读次数:
142
【题目链接】 http://hihocoder.com/problemset/problem/1388 【题目大意】 给出A数列和B数列,求下图式子: 【题解】 我们将多项式拆开,我们可以得到固定项A2和B2,以及变动项-2AB,所以现在只要最大化AB即可。我们发现将A序列倒置,B序列倍置,所得到的 ...
分类:
其他好文 时间:
2016-11-17 20:19:19
阅读次数:
208
【题目链接】 http://acm.timus.ru/problem.aspx?num=1297 【题目大意】 求最长回文子串,并输出这个串。 【题解】 我们将原串倒置得到一个新的串,加一个拼接符将新串拼在原串的后面, 那么枚举对称的中心点, 在两个串在组合成的串的对应位置的后缀的最长公共前缀 就是 ...
分类:
编程语言 时间:
2016-11-16 02:41:30
阅读次数:
220