设计模式
文章平均质量分 63
设计模式学习总结
陈海明hack
信息技术--时间与空间的多维设计
展开
-
依赖倒置如何升华架构设计
依赖为什么能升华架构设计?有关系原创 2022-02-08 22:19:00 · 4511 阅读 · 0 评论 -
本以为懂了面向对象
一、本以为懂了懂了懂了,知道知道了反问1:你知道面向对象的耦合吗? 答:对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。反问2:你知道代码如何体现耦合吗?答:。。。。。。。。反问3:你知道三大结构吗?答:顺序、选择、循环反问4:你有解耦合的实操吗?答:降低耦合度即可以理解为解耦,模块间有依赖关系必然存在耦合,理论上的绝对零耦合是做不到的,但可以通过一些...原创 2022-01-30 21:29:20 · 488 阅读 · 1 评论 -
面向对象会带来哪些巨变(系列一)
面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展过程的产物。人类对这个”发展过程“的认识经历了漫长的 人类进化的历史、经历了几千年的文明变化。在1981年8月发行的Byte杂志上发布了有关其“面向对象”编程系统的信息。Smalltalk中的Object清楚地反映了莱布尼兹(Leibnizian)Monadic对世界的模拟:可以创建或销毁对象(单子或原子),不管它们存在或不存在。它们...原创 2020-04-19 20:21:40 · 228 阅读 · 0 评论 -
行为型模式之策略模式Strategy
一、认识策略模式Strategy:定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户二、使用场景说明Strategy:声明一个与所有支持的算法共同的接口。上下文使用此接口调用由具体策略定义的算法。ConcreteStrategy:利用策略接口实现算法Context:用具体策略对象配置 维护对策略对象的引用 可以定...原创 2020-02-02 19:01:12 · 128 阅读 · 0 评论 -
创建型模式之抽象工厂模式Abstract Factory
一、认识抽象工厂模式:提供一个创建一系列或相关依赖对象的接口,而无需要指定他们的具体类二、基础代码模板AbstractFactory:为创建抽象产品的操作声明接口。ConcreteFactory:实现创建具体产品对象的操作。AbstractProduct:声明一类产品对象的接口。Product:1.定义要由相应的具体工厂创建的产品对象。2.实现AbstractPr...原创 2020-01-28 17:18:57 · 174 阅读 · 1 评论 -
结构型模式之适配器模式
一、认识 适配器模式:Adapter将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 适配器模式的两种类型:类适配器模式和对象适配器模式 两个类所做的事情相同或相似,但是具有不同的接口时要使用它 在双方都不太容易修改的时候在使用适配器模式适配 DataAdapte...原创 2020-01-24 15:03:40 · 192 阅读 · 1 评论 -
行为型模式之中介者模式Mediator
一、认识 中介者模式:用一个中介对象来封装系列的对象交互。Mediator通过阻止对象明确地相互引用来促进松散耦合,它允许您独立地改变它们的交互。Colleague关联Mediator,ConcreteMediator继承Mediator。ConcreteMediator关联ConcreteColleague1。ConcreteColleague继承Colleague....原创 2020-01-23 17:59:29 · 245 阅读 · 0 评论 -
桥接模式
一、定义Bridge模式将抽象部分与它的实现部分分离,使它们都可以独立的变化。二、UML类图三、代码 class Program { static void Main(string[] args) { Abstraction ab = new RefinedAbstraction(); //Set...原创 2019-01-20 20:48:55 · 201 阅读 · 10 评论 -
《大话设计模式》第一遍
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。可复用面向对象软件系统一般划分为两大类:应用程序工具箱和框架(Framework);而框架是构成一类特定软件可复用设计的一组相互协作...原创 2018-09-30 21:31:42 · 219 阅读 · 3 评论 -
设计模式基础总结
一、回顾面向对象的内容UML中的关联、依赖、泛化 、 实现 >、组合 、聚合 的关系和表示方法 博客链接,欢迎访问和回顾1)类与实例对象是一个自包含的实体,用一组可识别的特性和行为来标识。类就是具有相同的属性和功能的对象的抽象的集合。类名称首字母要大写,多个单词则各个首字母大写对外公开的方法需要用‘public’修饰符实例就是一个真实的对象。实例化就是创建对象的过程2)...原创 2018-10-01 21:32:44 · 239 阅读 · 7 评论 -
策略模式
一、程序中的策略就是对各个算法的一个封装「不是实现算法,而是封装算法」,让客户端非常容易的调用,省掉了客户端 if else 恶心的判断,让客户端独立于各个策略;使用一个策略模式,定义一个抽像策略,然后把各个请求策略封装,客户想使用哪个就使用哪个,非常灵活和方便。策略模式和简单工厂很相似,确有不同,策略是一种行为模式,而简单工厂是创建型模式「创建对象」。二、策略模式的定义策略是对算法的封装,...原创 2018-10-03 21:42:33 · 134 阅读 · 5 评论 -
设计模式与系统阶段
一、前言你会遇到一个难以启齿的问题:母亲和老婆掉到水里,你先救哪个?这个问题真的很难回答,但是,奇迹总会在你看完我的总结后有更全面的系统的思考,那我们先从GOF设计模式与系统的角度来解剖这个问题。GOF((Gang of Four),中文名–四人组。)设计模式分三种类型:结构型、创建型和行为型,这三者类型其实对应着一个系统的三个阶段:设计阶段、创建阶段和运行阶段。结构型模式指出如何设计出系...原创 2018-10-05 21:41:13 · 204 阅读 · 6 评论 -
设计模式实施
使用C#和Java实施中小型系统后,分两个步骤实施1.数据实施数据是血液,是系统的基本对象之一,所以,首先需要建立起系统的数据模型,重点在数据库对象化设计上,一旦建立好数据库,就能够迅速建立好相应的数据录入管理程序,让系统架构也能迅速见效.在这个数据模式里进行传递或处理数据,然后更新数据库,或者说.这只是一个数据层.在数据层的编程中,基本是比较简单重复性高的数据操作,而且和用户界面关系联系...原创 2018-10-07 15:53:01 · 221 阅读 · 4 评论 -
策略模式 vs 桥接模式
Bridge: structural pattern 强调双方的运行时委托链接一个类A的对象中有其他类B的对象作为其组成部分,但A的对象具体绑定到B的哪个具体子类的实现?在运行时通过delegation加以组合,并永久保存这种delegation关系。它分离抽象和实现,并允许两者独立变化。 Strategy: 行为类模式 强调一方运行时使用另一方的“算法”-行为模式处理算法或业务逻辑(而不是对...原创 2018-10-10 21:39:32 · 417 阅读 · 5 评论 -
设计模式第二遍总结
一、前言设计模式:设计模式中每一个例子运行出来都很精彩。设计模式的学习在第一遍是吸收,接受并理解人家的东西,而第二遍则是理解加思考。首先应该深入学习OO,然后再学模式,二者次序不可颠倒。理解和总结好:接口、抽象、继承、实现、多态等等基础知识,接着才有可能学会模式!二、正文一、创建型模式(5):原型、建造者、单例、工厂、抽象工厂。1.原型模式:建立相应数目的原型并克隆它们通常比每次用...原创 2018-10-12 21:38:08 · 151 阅读 · 5 评论