博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式 业务封装 & 紧耦合 vs. 松耦合 & 简单工厂模式
阅读量:4087 次
发布时间:2019-05-25

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

业务封装 & 紧耦合 vs. 松耦合 & 简单工厂模式

业务封装

假如让你设计一个控制台版的计算器,当你写好后。现在让你设计一个有界面的计算器,你之前所写的代码能直接复用吗?当我们写控制台版的计算器时就应该想到将业务逻辑与界面逻辑分开,让它们的耦合度降低,只有分离开才容易达到维护或扩展。

紧耦合 vs. 松耦合

如果要在计算器的业务逻辑加上其他操作符运算,能否不影响原来的业务逻辑?这时可以用继承、多态的面向对象思想方法把各种操作符分开不同的类,如果要改动或增加删除某一个操作符,都不会影响其他操作符,这就进一步降低了耦合度。

简单工厂模式

比如我们设计好不同操作类,如果让用户来创建这些操作类呢?这时我们可以创建一个简单工厂类。工厂类是整个模式的关键。客户只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心。包含了必要的逻辑判断,根据外界给定的信息,决定究竟应该创建哪个具体类的对象。通过使用工厂类,外界可以从直接创建具体产品对象的尴尬局面摆脱出来,仅仅需要负责“消费”对象就可以了。而不必管这些对象究竟如何创建及如何组织的。明确了各自的职责和权利,有利于整个软件体系结构的优化。

转载地址:http://qjyii.baihongyu.com/

你可能感兴趣的文章
Flutter ListView如何添加HeaderView和FooterView
查看>>
Flutter key
查看>>
Flutter 组件通信(父子、兄弟)
查看>>
Flutter Animation动画
查看>>
Flutter 全局监听路由堆栈变化
查看>>
Android 混合Flutter之产物集成方式
查看>>
Flutter混合开发二-FlutterBoost使用介绍
查看>>
Flutter 混合开发框架模式探索
查看>>
Flutter 核心原理与混合开发模式
查看>>
Flutter Boost的router管理
查看>>
Android Flutter混合编译
查看>>
微信小程序 Audio API
查看>>
[React Native]react-native-scrollable-tab-view(进阶篇)
查看>>
Vue全家桶+Mint-Ui打造高仿QQMusic,搭配详细说明
查看>>
React Native for Android 发布独立的安装包
查看>>
React Native应用部署/热更新-CodePush最新集成总结(新)
查看>>
react-native-wechat
查看>>
基于云信的react-native聊天系统
查看>>
网易云音乐移动客户端Vue.js
查看>>
ES7 await/async
查看>>