Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level16.lesson13.bonus01;
- import com.javarush.test.level16.lesson13.bonus01.ImageReaderFactory;
- import com.javarush.test.level16.lesson13.bonus01.common.ImageReader;
- import com.javarush.test.level16.lesson13.bonus01.common.ImageTypes;
- /* Factory method pattern
- 1. Внимательно посмотри, какие классы у тебя есть.
- 2. В отдельных файлах в пакете common создай классы JpgReader, PngReader, BmpReader, которые реализуют интерфейс ImageReader.
- 3. В отдельном файле в пакете bonus01 создай класс ImageReaderFactory с одним методом.
- 3.1. Подумай, как он должен называться.
- 3.2. Подумай, какие модификаторы должны быть у этого метода.
- 4. Этот метод должен:
- 4.1. для каждого значения из ImageTypes возвращать соответствующий Reader, например, для ImageTypes.JPG - JpgReader;
- 4.2. если передан неправильный параметр, то выбросить исключение IllegalArgumentException("Неизвестный тип картинки").
- */
- public class Solution {
- public static void main(String[] args) {
- ImageReader reader = ImageReaderFactory.getReader(ImageTypes.JPG);
- }
- }
- /*-----------------------------------------------------------------------------------*/
- package com.javarush.test.level16.lesson13.bonus01;
- import com.javarush.test.level16.lesson13.bonus01.common.*;
- /**
- * Created by ya_zay4eg on 22.09.15.
- */
- public class ImageReaderFactory
- {
- static ImageReader getReader (ImageTypes e) {
- if (e == ImageTypes.BMP) {
- return new BmpReader();
- }
- else if (e == ImageTypes.PNG) {
- return new PngReader();
- }
- else if (e == ImageTypes.JPG) {
- return new JpgReader();
- }
- else {
- throw new IllegalArgumentException();
- }
- }
- }
- /*-----------------------------------------------------------------------------------*/
- package com.javarush.test.level16.lesson13.bonus01.common;
- /**
- * Created by ya_zay4eg on 22.09.15.
- */
- public class JpgReader implements ImageReader
- {
- }
- /*-----------------------------------------------------------------------------------*/
- package com.javarush.test.level16.lesson13.bonus01.common;
- /**
- * Created by ya_zay4eg on 22.09.15.
- */
- public class PngReader implements ImageReader
- {
- }
- /*-----------------------------------------------------------------------------------*/
- package com.javarush.test.level16.lesson13.bonus01.common;
- /**
- * Created by ya_zay4eg on 22.09.15.
- */
- public class BmpReader implements ImageReader
- {
- }
- /*-----------------------------------------------------------------------------------*/
- package com.javarush.test.level16.lesson13.bonus01.common;
- public enum ImageTypes {
- BMP,
- JPG,
- PNG;
- }
- /*-----------------------------------------------------------------------------------*/
- package com.javarush.test.level16.lesson13.bonus01.common;
- public interface ImageReader {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement