随笔分类 - [42]Pattern设计模式
OO & Pattern
-
抽象工厂模式
摘要:c#中工厂模式详解 总体介绍: 工厂模式主要有三种类型:简单工厂、工厂方法和抽象工厂,该模式用于封装和管理对象的创建,是一种创建型模式。 万物皆对象,创建对象时必然需要new该对象,当需要更改对象时,需要把项目中所有地方都修改一遍,这显然违背了软件设计的开闭原则。 如果使用工厂来生成对象,那么我们只 阅读全文
-
单例模式
摘要:某酒管集团-单例模式对性能的影响及思考 摘要: 大概一年前开始在思考 构造函数中 依赖注入较多,这对系统性能及硬件资源消耗产生一些优化想法。 一般较多公司的项目都使用Autofac 依赖注入(Scoped 作用域),但是发现过多的对象产生 会消耗 CPU , 内存 并给GC(垃圾回收)造成一定的压力 阅读全文
-
学习设计模式,修炼内功。
摘要:常用设计模式之.Net示例代码合集 每一次初学者粉丝朋友,在后台向我咨询编程问题,我除了给他们指导学习路线,我都会建议他们学完基础知识后,一定要要注重编程规范,学习设计模式,修炼内功。 虽然说很多程序员,他们日常主要工作是CRUD,但是学习设计模式也是有助于学习公司的框架,另外设计模式是为了可重用代 阅读全文
-
策略模式
摘要:行为型:策略模式 定义 定义一系列的算法,将他们一个个封装起来,使他们直接可以相互替换。 算法:就是写的逻辑可以是你任何一个功能函数的逻辑 封装:就是把某一功能点对应的逻辑给抽出来 可替换:建立在封装的基础上,这些独立的算法可以很方便的替换 通俗的理解就是,把你的算法(逻辑)封装到不同的策略中,在不 阅读全文
-
设计模式
摘要:设计模式之概述篇 1、设计模式的本质 面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。 2、设计模式的目的 提高代码可读性、重用性、可靠性、可扩展性,实现“高内聚,低耦合”。 名词解释 可读性:按照规范编程,便于其他程序员阅读和理解 重用性:相 阅读全文
-
适配器、装饰器
摘要:适配器、装饰器 结构型设计模式 创建型设计模式主要是为了解决创建对象的问题,而结构型设计模式则是为了解决已有对象的使用问题。 适配器模式 适配器模式比较好理解,因为在我们的日常生活中就很常见,如耳机转换线、充电器适配器、插座等,举个最常见的例子: 插座就是个适配器,将一个接口扩展为多个接口,将墙上的 阅读全文
-
代码坏味道
摘要:《重构》代码坏味道 Divergent Change(发散式变化) 1、官方解释: 我们希望软件能够更容易被修改——毕竟软件再怎么说本来就该是「软」的。一旦需要修改,我们希望能够跳到系统的某一点,只在该处做修改。如果不能做到这点,你就嗅出两种紧密相关的刺鼻味道中的一种了。 如果某个class经常因为 阅读全文
-
Design Patterns: Elements of Reusable Object-Oriented Software
摘要:Design Patterns: Elements of Reusable Object-Oriented Software 史上最全面Java设计模式总结,看完再也不会忘 本文所有内容均节选自《设计模式就该这样学》 序言 Design Patterns: Elements of Reusable 阅读全文
-
控制反转(IoC,Inverse of Control)和依赖注入(DI,Dependedency Injection)
摘要:概念与定义 一、控制反转 1:类与类的依赖 依赖是面向对象中用来描述类与类之间一种关系的概念。两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务,这样的两个对象之间主要体现为依赖关系 2:控制反转(IoC,Inverse of Control) 说反转则要先说“正转”, 阅读全文
-
委托函数改造模板方法
摘要:当模板方法遇到了委托函数,你的代码又可以精简了 现如今当你翻看一些开源项目源码的时候,你会发现现在到处充斥着委托函数,如Func,Action,Predicate,确实现在的C#在函数式编程的路上越来越成为主流,越来越显示威力,曾经的一些经典设计模式写法,在函数式下可以稍微优化一下了,这篇我们就来说 阅读全文
-
单例模式
摘要:一单例模式 目录结构 前言 接下来的系列文章我们会谈设计模式,设计模式不仅仅存在Java开发语言中,而是遍及软件领域且至关重要,是前辈开发总结的经验,一种设计思想,一种架构;在软件开发中,唯一不变的就是需求的变化,开发人员不仅要满足当下的功能需求,还要考虑对后续可能的变化,设计的系统就应有良好的拓展 阅读全文
-
三种工厂模式
摘要:三种工厂模式 三种工厂模式 简单工厂实现# 简单工厂模式(严格来说这不算一种Gof的设计模式,更像是一种编程习惯)属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有相同的父类,应用继承将决定工厂的生产什么产品的决定权直接交到了客户手中,然后客 阅读全文
-
design pattern
摘要:design pattern 设计一门语言或者框架需要考虑哪些问题? 省事是一个很抽象的东西,纯粹的去了解抽象的东西很伤脑筋,因为没有具体的实现会让人云里雾里,但是同样,在学习一些编程语言或者框架的时候,会被一些语法,各种调用搞得很烦,这些很具体的细节有时也一样伤脑筋。因此去了解它的设计模式——抽象 阅读全文
-
六大原则理
摘要:1. 单一职责原则(SRP)(Single Responsibility Principle)2. 里氏替换原则(LSP)(Liskov Substitution Principle)3. 依赖倒置原则(DIP)(Dependence Inversion Principle)4. 接口隔离原则(IS 阅读全文
-
单一职责原则 开放封闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则
摘要:单一职责原则 开放封闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 前言 面向对象编程已经提出无数年了,现今已经成了研发们的必备之技。各大小面试,技术面试官都会让你谈谈面向对象相关的知识:你对相面对象了解多少?谈谈你对面向对象的理解。不管是什么应用层面的语言(C++,JAVA,C#), 阅读全文
-
词法分析
摘要:js的高级知识 词法分析 词法分析 词法分析方法: js运行前有一个类似编译的过程即词法分析,词法分析主要有三个步骤: 分析参数 再分析变量的声明 分析函数说明 具体步骤如下: 函数在运行的瞬间,生成一个活动对象(Active Object),简称AO 分析参数 函数接收形式参数,添加到AO的属性, 阅读全文
-
23种设计模式
摘要:23种设计模式 根据设计模式的参考书 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns) 创建型模式 这些设计模式提供了一种在创 阅读全文
-
Publisher/Subscriber 订阅-发布模式
摘要:Publisher/Subscriber 订阅-发布模式 本博后续将陆续整理这些年做的一些预研demo,及一些前沿技术的研究,与大家共研技术,共同进步。 关于发布订阅有很多种实现方式,下面主要介绍WCF中的发布订阅,主要参考书籍《Programming WCF Services》,闲话不多说进入正题 阅读全文
-
设计原则
摘要:6大设计原则 一. 6大设计模式 Single Responsibility Principle : 单一职责原则 Liskov Substitution Principle : 里氏替换原则 Dependence Inversion Principle :依赖倒置原则 Interface Segr 阅读全文
-
策略模式代替分支
摘要:策略模式代替分支 前言 在一些较为复杂的业务中,客户端需要依据条件,执行相应的行为或算法。在实现这些业务时,我们可能会使用较多的分支语句(switch case或if else语句)。使用分支语句,意味着“变化”和“重复”,每个分支条件都代表一个变化,每个分支逻辑都是相似行为或算法的重复。当追加新的 阅读全文
浙公网安备 33010602011771号