interface Image { void displayImage(); } //on System A class RealImage implements Image { private String filename; public RealImage(String filename) { this.filename = filename; loadImageFromDisk(); } private void loadImageFromDisk() { System.out.println("Loading " + filename); } public void displayImage() { System.out.println("Displaying " + filename); } } //on System B class Image2 implements Image { private String filename; private RealImage image; public Image2(String filename) { this.filename = filename; } public void displayImage() { if (image == null) { image = new RealImage(filename); } image.displayImage(); } } class Example2 { public static void main(String[] args) { Image image1 = new Image2("HiRes_10MB_Photo1"); Image image3 = new Image2("HiRes_10MB_Photo2"); image1.displayImage(); // loading necessary image3.displayImage(); // loading necessary image1.displayImage(); // loading unnecessary } } Which design pattern does this code indicate?
Reveal answer
Fill a bubble to check yourself
Keep practicing — related questions
- Given: 10. interface Data { public void load(); } 11. abstract class Info { public abstract void load(); } ...
- Given: 10. interface Foo { int bar(); } 11. public class Sprite { 12. public int fubar( Foo foo) { return f...
- Which of the following methods is not present in the Imageview class in java?
- Assume that File is an abstract class and has toFile() method. ImageFile and BinaryFile are concrete classe...
- import java.io.*; class Master { String doFileWork() throws FileNotFoundException { return "a"; } } class S...
- Click the Exhibit button. 10. interface Foo { 11. int bar(); 12. } 13. 14. public class Beta { 15. 16. clas...
- class checkoverride { public static void main(String []args) { sample8 obj = new childsample8(); obj.sample...
- Which of the following options are correct? interface Pet { } class Dog implements Pet { } public class Bea...