学习高焕堂老师的 《简单的黑箱框架模式》笔记总结
2023-09-14 09:09:01 时间
没事開始学一些框架的东西,做开发不能老装逼,仅仅知道搞api 搞demo,看点装逼的框架那才更装逼。
一般我们习惯用白箱的设计模式(简单点说就是继承关系 扩展 父类 抽象 )只是高老师说,还能够用黑箱的设计模式。
详细业务例如以下:
学生、大学生、研究生。都有学费的计算标准。都有姓名这个属性。那么怎样设计一套标准来定义他们,方便他们扩展使用呢?我们通用的做法,就是 定义基类。定义一个基类,这个基类有个抽象的方法,就是计算学费的方法。详细谁继承我,谁去实现学费是多少。那么这样的设计模式就是白箱设计模式。假设用黑箱实现呢?(黑箱的实际意义我也不是非常懂。
就是控制翻转,好像有更大的灵活性,详细不是非常清楚)先定义一个接口就是计算学费的接口。
public interface ITuition { /** * * getValue(得到详细学费) * * @return float 返回详细学费;; * @exception * * @since 1.0.0 */ // ITuition 计算学费的接口 ;;;;tuitio是学费的意思 I 是Interface ITuition 计算学费的接口 // lixiaodaoaaa public float getValue(); }
再把学生类定义出来(基类定义出来)
public class Stutent { private String name; private ITuition tuition;// 每种学生必须有一种计算学费的标准;; /** * * * @param tuition * 传递一个 计算学费的标准;; void */ public void Setter(ITuition tuition) { this.tuition = tuition; } // 详细计算学费有接口实现吧 我才无论呢;;; public float computerTuition() { return tuition.getValue(); } }
然后我们看调用结果(不须要 new实际的大学生、研究生对象)
public class MainITuition { public static void main(String[] args) { Stutent s1 = new Stutent(); Stutent s2 = new Stutent(); DaxueshengItuition daxueItuition = new DaxueshengItuition(); YanjiushengTuition yanjiuItuition = new YanjiushengTuition(); s1.Setter(daxueItuition); s2.Setter(yanjiuItuition); System.out.println(s1.computerTuition() + ""); System.out.println(s2.computerTuition() + ""); } }
总结下,有点糊里糊涂,只是还算明确一点点。
就是黑箱比較难以理解。
欢迎你指正。
闪,瞌睡了。
。不是非常懂。
相关文章
- V-rep学习笔记:视觉传感器2
- Coursera台大机器学习课程笔记7 -- Noise and Error
- 深度学习Keras框架笔记之核心层基类
- Akka学习笔记(二):Actor Systems
- 论文笔记(7):Constrained Convolutional Neural Networks for Weakly Supervised Segmentation
- 《从零开始学Swift》学习笔记(Day 62)——Core Foundation框架之内存托管对象与非托管对象
- kvm虚拟化学习笔记(八)之kvm虚拟机vnc配置
- RHCE 学习笔记(36) - MariaDB
- 机器学习笔记:scikit-learn pipeline使用示例
- MATLAB学习笔记 bwlabel的使用
- 机器学习笔记 - AutoML框架LightGBM初体验
- 机器学习笔记 - 深度学习、对话机器人、微软机器人框架
- Angular依赖注入框架injector的学习笔记
- JS与ES6高级编程学习笔记(二)——函数与作用域
- SpringBoot学习笔记(一)——SpringBoot概要与快速入门
- Java程序猿JavaScript学习笔记(4——关闭/getter/setter)
- 《数据挖掘概念与技术》学习笔记
- 自用的java学习笔记
- python 3.6 + robotFramework自动化框架 环境搭建、学习笔记
- 从搭建到实战,看看这篇robotframework框架深度学习笔记
- linux达人养成计划学习笔记(一)——命令基本格式及文件处理命令
- cocos2dx游戏开发——微信打飞机学习笔记(一)——开发准备
- COM笔记-引用计数
- 信号完整性(SI)电源完整性(PI)学习笔记(五)电容的物理基础