C#面向对象设计模式第一讲:面向对象设计模式与原则

(根据MSDN Webcast相关课程整理)

模式:提供重复发生的问题的解决方法的核心。

设计模式:软件设计过程中某一类问题的一般性解决方案。

面向对象设计模式:面向对象设计过程中、特定场景下,类与相互通信的之间的常见的组织关系。

GOF 23种设计模式

好的设计:可以满足应对变化提高复用的设计。

源代码就是设计,软件设计最大的特点就是需求永远在变化。

理想化的软件开发模式:软件开发=系统设计(设计师)+代码编写(程序员)

设计模式不是算法技巧,不能照搬照用,只能活学活用,必须理解。

即使懂面向对象的语言机制,但如果理解不深入,也并不一定能运用到实际设计与开发中去。

(OOPL)面向对象三大实现机制:

封装:隐藏内部实现

继承:复用

多态:改写对象行为

clip_image002

新增一个员工类型而不需要修改原来的设计,只需要扩展一个工厂类中的方法。

扩展:新增一个功能,不修改原来的设计

改变:修改原来的设计

代码耦合:就是代码关系过于紧密,往往改变一小段代码,需要整个项目做很大的改动。在实际开发中应该尽量避免过高的耦合。接口、继承是解决高耦合的一种好方法。

对象封装了行为与状态即代码与数据。

面向对象设计三大原则:

1,针对接口编程而不是针对实现编程;

2,优先使用对象组合而不是类继承(is of关系);

3,封装变化点;

使用设计模式的正确方法:针对变化点,使用重构来得到模式而不是一步到位的应用所谓的模式

几条更具体的设计原则:

1, 单一职责原则(SRP):一个类应该只有一个引起它变化的原因

File类,FileInfor类

2, 开放封闭原则(OCP):类模式应该是可扩展的,但是不可修改的(对扩展开放,对更改封闭,尽可能新增)

3, Liskov替换原则(LSP):子类必须能替换它们的基类

4, 依赖倒置原则(DIP):高层模式不应该依赖于低层模块,二者应该依赖于抽象;抽象不应该依赖于实现细节,实现细节应该依赖于抽象

5, 接口隔离原则(ISP):不应该强迫客户程序依赖于它们不用的方法

接口与抽象类的区别:

接口是一份契约

抽象类提供一个框架

<完>

转载于:https://www.cnblogs.com/luckeryin/archive/2011/12/16/2290467.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值