一、前言 最近项目中发现,对于设计模式的了解是必不可少的,当然对于设计模式的应用那更是重要,可以说是否懂得应用设计模式在项目中是衡量一个程序员的技术水平,因为对于一个功能的实现,高级工程师和初级工程师一样都会实现,但是区别在于它们实现功能的可扩展和可维护性,也就是代码的是否“优美”、可读。但是,要更 ...
分类:
其他好文 时间:
2018-06-18 11:49:23
阅读次数:
164
第六章第三节 面向可维护的构造技术 学了这么多OO设计模式,不外乎都是 delegation + subtying,万变不离其宗。 除了OO,还有什么其他能够提升软件可维护性的构造技术?——本节从委派+子类型跳出来,学习以下三个方面: (1) 基于状态的构造技术 (2) 表驱动的构造技术 (3) 基 ...
分类:
其他好文 时间:
2018-06-16 22:33:38
阅读次数:
231
第六章第二节 可维护的设计模式 Outline 创造性模式:Creational patterns 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 建造者模式(Builder Pattern) 结构化模式:Structural patte ...
分类:
其他好文 时间:
2018-06-16 19:12:03
阅读次数:
173
第六章第一节 可维护性的度量与构造原则 本章面向另一个质量指标:可维护性——软件发生变化时,是否可以以很小的代价适应变化? 本节是宏观介绍:(1)什么是软件维护;(2)可维护性如何度量;(3)实现高可维护性的设计原则——很抽象。 Outline 软件的维护和演化 可维护性的常见度量指标 聚合度与耦合 ...
分类:
其他好文 时间:
2018-06-16 17:08:34
阅读次数:
260
简单地说,线程模型指定了操作系统、编程语言、框架或者应用程序的上下文中的线程管理的关键方面。Netty的线程模型强大但又易用,并且和Netty的一贯宗旨一样,旨在简化你的应用程序代码,同时最大限度地提高性能和可维护性。 1、线程模型概述 线程模型确定了代码的执行方式,由于我们总是必须规避并发执行可能 ...
分类:
编程语言 时间:
2018-06-16 16:18:11
阅读次数:
176
第六章 1. 可维护性的常见度量指标:圈复杂度、代码行数、运算符/操作数的数目、可维护性指数(MI)、继承深度、类耦合、单元测试覆盖度 2. 聚合度与耦合度 (1)耦合度:多个模块间的相互联系 (2)聚合度:模块内部语句或语句段之间的联系 3. SOLID (1)S:单一责任原则,即引起类变化的原因 ...
分类:
其他好文 时间:
2018-06-12 18:31:23
阅读次数:
160
质量高的代码关键之一是具有可维护性和可扩展性。 将面向对象设计,也就是解耦,融入于编码之中。不要硬编码,要让你的代码扩展起来十分方便。 今天我遇到了一个问题: 面向对象的ISP原则。 接口隔离原则,具体来说就是客户程序无需被迫依赖于它用不到的方法. 比如我又这样一个抽象类,类中有一个方法叫做Add( ...
译者注:这是一篇很棒文章,使用有趣的叙述方式,从反面讲解了作为一个优秀的 PHP 工程师,有哪些事情是你不能做的。请注意哦,此篇文章罗列的行为,都是你要尽量避免的。 随着失业率越来越高,很多人意识到保全自己的工作是多么的重要。那么,什么是保住自己工作,并让自己无可替代的好方法呢?一个很简单的事实是只 ...
分类:
Web程序 时间:
2018-06-08 10:38:27
阅读次数:
211
软件目录结构规范 设计目录结构优点: 1.可读性高,可以快速的了解项目 2.可维护性高,定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。 目录组织方式 Foo/|-- bin/| |-- foo||-- foo/| |-- tests/| | |-- __init ...
分类:
编程语言 时间:
2018-06-07 23:06:23
阅读次数:
206
模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式,在python中,一个.py文件就称之为一个模块(Modu ...
分类:
编程语言 时间:
2018-06-06 23:42:21
阅读次数:
250