码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式 学习笔记1

时间:2016-04-27 09:34:14      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

2016.4.25


 业务是目的:  取火

技术是方法: 钻木取火

架构师 协调业务和技术的关系,把主要业务(目的/问题)分拆成具体的技术实现方案

软件公司里头:

 技术分享

架构师要懂很多技术,还要有商业头脑 

所谓“架构” 就是把一个大的系统给拆分拆散后又能顺利的组装起来。

软件架构包括了:代码架构以及承载代码运行的硬件部署架构

 

软件开发是需要成本的,要考虑项目难度开发周期。

技术复杂度太高,掌握这项技术的时间成本和后期维护的难度(后期维护也需要训练新员工来进行维护)就会大大增加。

所以小项目用高技术肯定是划不来的。

实现一个仅仅只是解决当下问题的方案可能成本更低。

所以往往我们会发现,一些小的项目,即时项目 或者是 要马上上线的项目 很多就是走 面向过程的开发路线,采用边做边改(Build and Fix Model)的软件开发模型。

记住,任何需求的变更,功能的拓展都是需要成本的。

 

参考:架构漫谈(九):理清技术、业务和架构的关系  http://kb.cnblogs.com/page/543110/


 

所有设计模式都是为了代码后期维护增加功能带来方便的,

其实如果只是为了解决当下问题,用面向过程设计思想更快捷直接,因为修改的地方少,在主函数的大循环里增加功能的实现代码即可

 

1.松耦合

——分离视图和数据模型,方便后期维护和扩展功能

——分离操作,把每一个操作(如计算器的加减乘除)都单独封装成类,单独编写和修改

 

2.面向对象的程序设计 是通过封装、继承、多态把程序的耦合度降低,

实现程序的:

可维护 —— 只要改要改的字

可复用 —— 这次用了下次还可以用

可扩展 —— 如需添加字(添加功能),只需另刻字加入即可

灵活性好 —— 活字的位置可以随意移动

 

3.简单工厂类对象生成工厂) —— 解决对象的创建问题

专门用来(有选择性地)实例化对象的类

 

4.策略模式 —— 用来封装算法,简化了单元测试,因为每个算法都有自己的类,可以通过自己的接口作单独测试。

 

5.策略模式 + 简单工厂 

策略模式是用来封装算法的,

简单工厂是用来生成对象的,

当需要在不同条件下使用不同策略(算法)的时候,采用 策略模式 + 简单工厂 来做,可以大大简化客户端的代码量(表现上是使用类的数量减少了) ,

plus:

这种设计模式实际上也是贯穿了MVC思想:

将1.具体的算法实现(数据模型)OperationAdd,

2.调用(控制器)OperationFactory

3.客户端(视图)OperationMain

相分离,降低了耦合度,利于每个模块的单独测试,以及今后的功能拓展

 

参考:《大话设计模式》 程杰


 

设计模式 学习笔记1

标签:

原文地址:http://www.cnblogs.com/Chongger/p/5432715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!