zoukankan      html  css  js  c++  java
  • 学习高焕堂老师的 《简单的黑箱框架模式》笔记总结

         没事開始学一些框架的东西,做开发不能老装逼,仅仅知道搞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() + "");
    	}
    }


    总结下,有点糊里糊涂,只是还算明确一点点。

    就是黑箱比較难以理解。

    欢迎你指正。

    闪,瞌睡了。

    。不是非常懂。

  • 相关阅读:
    Python安装mysql-python错误提示python setup.py egg_info
    修改svn默认端口
    python pip下载速度慢的解决方法
    使用mysql自带工具mysqldump进行全库备份以及source命令恢复数据库
    pycharm 中自动补全代码提示前符号 p,m ,c,v, f 是什么意思
    Mysql按条件计数的几种方法
    linux shell 之if-------用if做判断
    在Centos7 上安装SVN
    Nginx配置文件详细说明
    设置文件上传的最大大小
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6844061.html
Copyright © 2011-2022 走看看