好记性不如铅笔头

java, 编程, 设计模式

设计模式学习笔记:门面模式

最近在看《设计模式之禅》这本书,收获良多,作者不愧是工作多年的大牛,将各种设计模式讲解的非常透彻。这里备份下书中的【门面模式 】代码:

github:

https://github.com/cstriker1407/design_pattern 】

门面模式比较简单,而且容易使用,代码重构时可以很方便的掩盖掉具体的业务实现。

interface LetterPost
{
	public void write(String str);
	public void send(String addresss);
}

class Person implements LetterPost
{

	@Override
	public void write(String str)
	{
		System.out.println("write:" + str);
	}

	@Override
	public void send(String addresss)
	{
		System.out.println("addr:" + addresss);
	}
}

class PostOffice
{
	private LetterPost letterPost = new LetterPost()
	{
		@Override
		public void write(String str)
		{
			System.out.println("write:" + str);
		}
		
		@Override
		public void send(String addresss)
		{
			System.out.println("addr:" + addresss);
		}
	};	
	
	public void sendLetter(String text, String addr)
	{
		letterPost.write(text);
		letterPost.send(addr);
	}
}

 测试代码:

public class FacadeTest
{
	public static void test()
	{
		Person person = new Person();
		person.write("hello");
		person.send("Nanjing");
		
		PostOffice office = new PostOffice();
		office.sendLetter("Hello", "Nanjing");
	}
}

 

发表评论

20 − 18 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据