Structual Pattern: Adapter
什么是Adapter?
Convert the existing interfaces to a new interface to achieve compatibility and reusability of the unrelated classes in one application. Also known as Wrapper pattern.
Example:
To reuse classes and make new class compatible with existing ones. For example, A clean system is already designed, you want to add more job in, the Extra interface uses adapter pattern to plug in the existing system.
interface Clean {
public void makeClean();
}
class Office implements Clean{
public void makeClean() {
System.out.println("Clean Office");
}
}
class Workshop implements Clean{
public void makeClean() {
System.out.println("Clean Workshop");
}
}
interface Extra extends Clean{
public void takeCare();
}
class Facility implements Extra{
public void makeClean() {
System.out.println("Clean Facility");
}
public void takeCare() {
System.out.println("Care has been taken");
}
}
In order to reuse Workshop and Office classes,
we create an adapter interface Extra and add new job takeCare in the system.
class Test {
static void Jobs (Extra job) {
if (job instanceof Clean)
((Clean)job).makeClean();
if (job instanceof Extra)
((Extra)job).takeCare();
}
public static void main(String[] args) {
Extra e = new Facility();
Jobs(e);
Clean c1 = new Office();
Clean c2 = new Workshop();
c1.makeClean();
c2.makeClean();
e.makeClean();
}
}
原文:
http://www.javacamp.org/designPattern/
分享到:
相关推荐
Because using design patterns will allow you to get your tasks done twice as fast, to write better code and to create efficient and reliable software architecture. How do I become a programming ninja...
这个压缩包"js-design-patterns.rar"包含了一个PDF文档"JavaScript.Design.Patterns.RETAiL.Dec.2007.pdf"和一个名为"code.zip"的代码示例压缩包,两者共同提供了关于JavaScript设计模式的深入理解和实践。...
Object Oriented Analysis and Design 13Structural Design PatternsStructural patterns deal with organizing classes and objects to form larger structures, often by combining them in some way. - Adapter ...
设计模式分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)和行为型模式(Behavioral Patterns)。 1. **创建型模式** 主要关注对象的创建,它们帮助我们在适当的时候以适当的...