设计模式学习(上)

开始学习设计模式已经很多年,期间断断续续看了很多遍,困惑有感慨也有,兴奋有烦躁也有。但我始终坚持要搞懂它。如何才能搞懂设计模式这门课程呢?每个人都有自己的看法,但我的看法是先把书由厚读薄,然后再由薄读厚。

       为了讨论设计模式我们需要明白相关概念,设计模式是对设计的总结,而设计是软件开发过程中重要的一环,而软件开发只是软件生命周期中的一段时间,软件生命周期中的大部分时间都是处于运行维护阶段,明白这样道理是学习设计模式的前提。

       客户的需求会在整个软件生命周期中发生变化,导致变化的因素有多种。可以说客户的需求变化是永恒的,那么我们的软件就需要变化也是必须的,这就要求我们的代码不光要满足功能要求,还要满足将来维护的要求,即能适应变化,代码的结构是灵活的,而且是稳定的。

       在软件开发过程中,需求开发和编码之间是软件设计,软件设计可以看成是对需求抽象过程 , 把需求抽象成一个实现方案 , 这个方案是由许多对象组成 , 用来实现需求的功能要求 , 而且在方案中对这些对象的结构进行了合理的组织 , 方便将来维护。所以可以看到设计的目的有两个:首先抽象出一个可以满足需求的实现方案,其次是要这个方案是可以适应变化,组成这个方案的对象结构是稳定的、灵活的,对象也要满足一定的特性。

       从分析看:共同点 / 变化点分析;考虑你系统中需要什么,然后关系如何实现它;划分职责;

       从设计看:针对接口设计;对修改关闭,对增加开放;从场景设计;包容变化;关注动机,不是关注实现;封装变化;封装是一种更好的分解程序的方法;封装层成为我们设计的接口;使用组合,而不是继承;使用抽象类应用进行组合,可以隐藏变化;设计常常被想成一个合成过程,从部分到整体、从我已知的具体事务开始设计;选择简单途径解决问题,最后使问题严重复杂;

       从对象看:对象是对数据方法的封装;对象是拥有责任的东西;不让一个对象包含两种变化;高内聚;里氏代换原则;依赖倒转原则;隐藏

       从对象的关系看:低耦合;接口隔离;迪米特原则

       从对象的方法看:一个功能在一个地方实现;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值