程序设计模式之设计模式的重大意义

首先说说设计模式的用途:

在软件系统里面,系统的健壮性,可维护性,可扩展性 非常重要,也是一个成熟的系统必不可少的。

软件系统架构暂时没有涉及,但是无论怎么架构最后通过程序去实现,而程序并非简单功能实现。

我们是编程序的人别人叫我们程序员。个人觉得编程也是一种设计:

1.项目结构设计、功能模块划分;

2.单个类的设计,类成员变量设计,类方法设计。

一个系统由若干个类组成,好比一辆汽车由若干部件组成相互协调工作。

现在问题来了:如何将这些类更好地组合在一起?使每个功能模块代码变的清晰明了?在项目需求变动的情况下能保持稳定性?升级维护的时候之前的系统可扩展性好?

1.代码整洁和代码规范性尤为重要,这里推荐看《代码整洁之道》《31天重构》这两本书。我认为编程规范是无数前辈和公司在多年项目开发实战中总结出来的一些规范,使代码可读性变强,系统也便于维护。而作为一个普通的程序员,我们应该严格遵守编程规范,不应该自己去定制一些规则。这样才能保证代码的可读性。

2.仅仅有编程规范使远远不够的,类于类之间直接如何更好协调工作,在需求变动的情况下原先写好的代码不用修改,而是添加新的类,软件设计模式就能很好地解决这些问题。

  

起初我觉得设计模式只需要掌握常用的十多个就够了,前段时间一个小项目改了30多次需求都是大改,把我虐成狗。项目初期由三个人合作编写,一个项目好几种代码风格,项目结构划分毫无条理,中期项目雏形完成功能基本实现,但是看看项目很难受有些乱。项目到了后期基本就是细节修改和维护时间相对充裕。于是我对整个项目进行重构(项目后期重构项目虽然是大忌但是真的无法忍受杂乱无章的代码)。花了一周时间对每一个模块进行划分,整个系统结构清晰明了,对类,成员变量,进行重命名,对函数进行拆分,优化冗余代码,根据类之间的关系提取抽象父类或者接口,使用常用设计模式进行优化。感觉自己对常用设计模式使用还是挺熟练的,但是总感觉少了些什么。最新花时间研究了23种常用的设计模式。真正到了后期其实还是改了不少需求的,但是代码稳定性好多了。

首先推荐一本关于设计模式的书《大话设计模式》的书。我将在近期更新关于23种设计模式的文章,个人可能难免会有一些偏见,希望大家多多包容,如果有什么错的地方还望多多指教。我的目的是共同成长。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 01:34:40

程序设计模式之设计模式的重大意义的相关文章

面向程序员的设计模式 ——GoF《设计模式》读书总结(壹)抽象工厂&生成器

第一部分:创建型模式 创建型模式抽象了实例化过程.它们帮助一个系统独立于如何创建.组合和表示它的那些对象.(把一些小的对象组装成大对象,这个工作由专门的类对象来做) 一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象. 随着系统演化得越来越依赖于对象复合而不是类继承,创建型模式变得更为重要.因为系统定义一个较小的行为集,这些行为可以被组合成任意数目的更复杂的行为. (把行为分散在各类中,用对象组合的方式,根据需要组合成大类) 这些创建型模式有两个特点: 1.它

[设计模式] .NET设计模式笔记 - 了解设计模式

今天在TerryLee的cnblog(http://terrylee.cnblogs.com)里看到了与设计模式相关的整套文章,初学设计模式看完每篇文章后做些笔记和摘抄. ●什么是设计模式,什么是架构? 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的

java 的常用设计模式--大话设计模式

设计模式:一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案.在真正理解设计模式之前我一直在编写“简单”的代码.这个“简单”不是功能的简单,而是设计的简单.简单的设计意味着缺少灵活性,代码很钢硬,只在这个项目里有用,拿到其它的项目中

Java软件设计模式------装饰设计模式

Java软件设计模式一共分为23种; 一般常用的有: 单例设计模式 装饰设计模式 工厂设计模式 装饰设计模式 定义:英文叫Decorator Pattern,又叫装饰者模式.装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 在生活中我们用程序员和项目经理的例子来比喻,项目经理是从程序员开始的,经过不断地积累工作经验.不断的学习新的知识,才有可能升职. 在装饰设计模式中项目经理就是程序员的增强. 程序猿: 写程序 项目

大话设计模式1:初识设计模式及设计模式五大基本原则

一什么是设计模式? 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计 模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多 赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的结构一样. 二为什么要使用设计模式? 为什么要提倡Design Pattern呢?根本原因是为了代码复用,增加可维护性.那么怎么才能实现代码复用呢?面 向对象有几个原则:单一职责原

大话设计模式—何为设计模式

设计模式,说起设计模式,设计模式,总是给人留下一种高屋建瓴,金碧辉煌的感觉.甚至很多人以在一款软件里使用了多少设计模式来衡量软件代码的质量.所以设计模式对于我们这些软件开发人员来说,实在再熟悉不过了.自从一本由四人组合写的奇书横空出世以后,设计模式在软件开发中就火了起来,很多程序员甚至把那本书奉为圣经.虽然我们怎么熟悉它,那我们是否真的完全理解或者掌握了它的精髓了呢? 无论学习什么知识我们首先从三问,或者五问问起(所有知识学习都逃不出这几问).第一问,是什么?首先我们来看看这个设计模式到底是什么

结构型设计模式对比 设计模式(十六)

结构型设计模式 结构型模式关注于整体最终的结构,通过继承和组合,构建出更加复杂的结构 进而提供更加强大的逻辑功能 七种结构型模式 适配器模式(Adapter Pattern) 组合模式(Composite Pattern) 装饰器模式(Decorator Pattern) 代理模式(Proxy Pattern) 桥接模式(Bridge Pattern) 外观模式(Facade Pattern) 享元模式(Flyweight Pattern) 所有的结构型设计模式在逻辑上都各自不同程度的隐含了“间

Unity设计模式+Java设计模式,讲解+案例+PPT,一次性学会设计模式,拥抱高薪!

一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案.在真正理解设计模式之前我一直在编写“简单”的代码.这个“简单”不是功能的简单,而是设计的简单.简单的设计意味着缺少灵活性,代码很钢硬,只在这个项目里有用,拿到其它的项目中就是垃圾,

图解Java设计模式之设计模式面试题

图解Java设计模式之设计模式面试题 1.1 Java设计模式内容介绍 1.1.1 先看几个经典的面试题 1.1.2 设计模式的重要性 1.1 Java设计模式内容介绍 1.1.1 先看几个经典的面试题 原型设计模式问题 :1)有请使用UML类图画出原型模式核心角色2)原型设计模式的深拷贝和浅拷贝是什么.并写出深拷贝的两种方式的源码(重写clone方法实现深拷贝.使用序列化来实现深拷贝)3)在Spring框架中哪里使用到原型模式,并对源码进行分析beans.xml <bean id="id

图解Java设计模式之设计模式七大原则

图解Java设计模式之设计模式七大原则 2.1 设计模式的目的 2.2 设计模式七大原则 2.3 单一职责原则 2.3.1 基本介绍 2.3.2 应用实例 2.4 接口隔离原则(Interface Segregation Principle) 2.4.1 基本介绍 2.4.2 应用实例 2.5 依赖倒转原则 2.5.1 基本介绍 2.5.2 应用实例 2.6 里氏替换原则 2.6.1 OO中的继承性的思考和说明 2.6.2 基本介绍 2.6.3 一个程序引出的问题和思考 2.6.4 解决方法 2