设计原则之迪米特法则的概念及实例代码操作

Posted 汐汐如梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计原则之迪米特法则的概念及实例代码操作相关的知识,希望对你有一定的参考价值。

场景

例题:从Excel文件中提取表格信息,并保存在数据库系统中

不使用迪米特法则的解法:

代码实现:

class ExcelToDB
	private String fileName;
	private String db;
	public ExcelToDB(String fileName, String db) 
		super();
		this.fileName = fileName;
		this.db = db;
	
	public String read() 
		return this.fileName+"文件内容!";
	
	public void connectionDB() 
		// TODO Auto-generated method stub
		System.out.println("连接"+this.db+"数据库系统");
	
	public void saves(String conten) 
		// TODO Auto-generated method stub
		System.out.println("把"+this.read()+"保存在数据库中");
	

//客户端程序
public class ClientDemo 
	public static void main(String[] args) 
		ExcelToDB toDB = new ExcelToDB("a.xsl", "mysql");
		String str = toDB.read();
		toDB.connectionDB();
		toDB.saves(str);
	


迪米特法则的概念




使用迪米特法则的解法:

代码实现:

//Excel文件信息转换成数据库信息保存
public class ExcelToDB
    private String fileName;
    private String db;
    public ExcelToDB(String fileName,String db)
        super();
        this.fileName = fileName;
        this.db = db;
    
    //私有化方法,避免暴露,符合迪米特法则
    private String read()
        return this.fileName+"文件内容";
    
    private void connectionDB()
        System.out.println("连接"+this.db + "数据库系统");
    
    private void save(String conten)
        System.out.println("把"+this.read()+"保存在数据库中");
    
    //向外部暴露一个方法
    public void perform()
        String str = this.read();
        this.connectionDB();
        this.save(str);
    

//中介者
public class UtilConvert
    private ExcelToDB todb;
    public UtilConvert(ExcelToDB todb)
        super();
        this.todb = todb;
    
    public void convert()
        todb.perform();
    

//客户端
public class Client
    public static void main(String[] args)
        ExcelToDB todb = new ExcelToDB("a.xsl","MySQL");
        UtilConvert convert =  new UtilConvert(todb);
        convert.convert();
    

运行截图:

以上是关于设计原则之迪米特法则的概念及实例代码操作的主要内容,如果未能解决你的问题,请参考以下文章

设计模式六大原则/接口设计六大原则 之 迪米特法则(转)

七大设计原则之迪米特法则应用

学习设计模式 - 六大基本原则之迪米特法则

面向对象设计原则之迪米特法则

面向对象设计原则之迪米特法则

七大设计原则之迪米特法则