首先说说设计模式的用途:
在软件系统里面,系统的健壮性,可维护性,可扩展性 非常重要,也是一个成熟的系统必不可少的。
软件系统架构暂时没有涉及,但是无论怎么架构最后通过程序去实现,而程序并非简单功能实现。
我们是编程序的人别人叫我们程序员。个人觉得编程也是一种设计:
1.项目结构设计、功能模块划分;
2.单个类的设计,类成员变量设计,类方法设计。
一个系统由若干个类组成,好比一辆汽车由若干部件组成相互协调工作。
现在问题来了:如何将这些类更好地组合在一起?使每个功能模块代码变的清晰明了?在项目需求变动的情况下能保持稳定性?升级维护的时候之前的系统可扩展性好?
1.代码整洁和代码规范性尤为重要,这里推荐看《代码整洁之道》《31天重构》这两本书。我认为编程规范是无数前辈和公司在多年项目开发实战中总结出来的一些规范,使代码可读性变强,系统也便于维护。而作为一个普通的程序员,我们应该严格遵守编程规范,不应该自己去定制一些规则。这样才能保证代码的可读性。
2.仅仅有编程规范使远远不够的,类于类之间直接如何更好协调工作,在需求变动的情况下原先写好的代码不用修改,而是添加新的类,软件设计模式就能很好地解决这些问题。
起初我觉得设计模式只需要掌握常用的十多个就够了,前段时间一个小项目改了30多次需求都是大改,把我虐成狗。项目初期由三个人合作编写,一个项目好几种代码风格,项目结构划分毫无条理,中期项目雏形完成功能基本实现,但是看看项目很难受有些乱。项目到了后期基本就是细节修改和维护时间相对充裕。于是我对整个项目进行重构(项目后期重构项目虽然是大忌但是真的无法忍受杂乱无章的代码)。花了一周时间对每一个模块进行划分,整个系统结构清晰明了,对类,成员变量,进行重命名,对函数进行拆分,优化冗余代码,根据类之间的关系提取抽象父类或者接口,使用常用设计模式进行优化。感觉自己对常用设计模式使用还是挺熟练的,但是总感觉少了些什么。最新花时间研究了23种常用的设计模式。真正到了后期其实还是改了不少需求的,但是代码稳定性好多了。
首先推荐一本关于设计模式的书《大话设计模式》的书。我将在近期更新关于23种设计模式的文章,个人可能难免会有一些偏见,希望大家多多包容,如果有什么错的地方还望多多指教。我的目的是共同成长。
版权声明:本文为博主原创文章,未经博主允许不得转载。