博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式简易理解
阅读量:7211 次
发布时间:2019-06-29

本文共 690 字,大约阅读时间需要 2 分钟。

hot3.png

现代MVC框架中的一些设计模式

IOC - 控制反转(Inversion of Control)

依赖关系的转移,从对 底层实现 的依赖转为对 外部传入参数 的依赖。从而实现不更改业务代码,通过注入不同的依赖对象,来调整程序行为

依赖抽象而非实践,控制权从 实际对象 转移 抽象接口,具体表现为业务逻辑不依赖于手动实例化的对象, 而依赖于TypeHint了接口规范的传入参数

DIP - 依赖倒置原则(Dependence Inversion Principle)

等同于IOC

DI - 依赖注入(Dependency Injection)

依赖对象不再手动实例化, 转而由容器根据TypeHint自动注入

DIC - 依赖注入容器(DI Container)

DIC基于DI实现

提供 延时生成 、单例化 及 高内聚低耦合 等特性

管理对象的 依赖关系 及其 整个生命周期,包括实例化,调用,销毁

将对象的实例化从业务逻辑中解耦出来,直接通过容器来访问对象


常见的四种组合模式 —— 优先组合,其次继承

1, 代理模式Proxy

中介作用,通过代理对象来访问底层实现

2, 桥接模式Bridge

抽象与实现分离,适应多个维度的编码,通过属性包含的方式来访问多个底层实现

3, 适配器模式Adapter

将一个类的接口适配成用户所期待的接口规范,使得原本不兼容的接口得以一起工作,即统一接口

4, 中介模式Mediator

通过中介对象来支持不同域间对象的通信,主要起到协调作用

转载于:https://my.oschina.net/u/2400083/blog/523364

你可能感兴趣的文章
bootstrap的流式布局
查看>>
如何通过线程池异步调用
查看>>
Squid配置详解
查看>>
070104_微积分:随机变量及其分布(二项分布,均匀分布,正态分布)
查看>>
LeetCode – Refresh – Binary Tree Zigzag Level Order Traversal
查看>>
python操作三大主流数据库(13)python操作redis之新闻项目实战①新闻数据的导入
查看>>
2013夏,iDempiere来了 - v1.0c Installers (Devina LTS Release) 2013-06-27
查看>>
每天一个linux命令(22):find 命令的参数详解
查看>>
然后是几点(15)
查看>>
15.节点属性
查看>>
ISO-8859-1编码
查看>>
PHP 代码评审的 10 个提示
查看>>
你知道吗?Web的26项基本概念和技术
查看>>
方案优化:网站实现扫描二维码关注微信公众号,自动登陆网站并获取其信息...
查看>>
Leetcode | Balanced Binary Tree
查看>>
sqlServer对内存的管理
查看>>
挑战密室
查看>>
利用Solr服务建立的站内搜索雏形---solr1
查看>>
5、jmeter-逻辑控制器介绍与使用
查看>>
如何遍历List对象
查看>>