zoukankan      html  css  js  c++  java
  • 模块【其他模式】

    模块

    public class Module {
        /**
         * Module pattern:统一管理功能相关组件的创建、使用和销毁
         */
        @Test
        public void all() throws FileNotFoundException {
            final FileLogModule logModule = FileLogModule.getSingleton();
            logModule.prepare();
            logModule.print("hello");
            logModule.error("error");
            logModule.finish();
        }
    }
    
    class FileLogModule{
        private FileLogModule() {
        }
        private static final FileLogModule INSTANCE = new FileLogModule();
        private static final String OUTPUT_FILE = "output.txt";
        private static final String ERROR_FILE = "error.txt";
        private PrintStream output;
        private PrintStream error;
    
        public static FileLogModule getSingleton() {
            return INSTANCE;
        }
    
        public void prepare() throws FileNotFoundException {
            output = new PrintStream(new FileOutputStream(OUTPUT_FILE));
            error = new PrintStream(new FileOutputStream(ERROR_FILE));
        }
    
        public void print(String message) {
            output.println(message);
        }
    
        public void error(String message) {
            error.println(message);
        }
    
        public void finish() {
            flushClose(output);
            flushClose(error);
        }
    
        private void flushClose(PrintStream stream) {
            Optional.ofNullable(stream).ifPresent(s -> {
                s.flush();
                s.close();
            });
        }
    }
    
  • 相关阅读:
    使用pd从数据库逆向生成pdm文件
    js中的this指向
    js中的深浅拷贝
    使用eclipse遇到问题:the-package-collides-with-a-type
    电脑环境设置
    VIP
    win7操作技巧
    遍历Map的四种方法
    win7下安装tomcat
    Eclipse下快速打开本地文件的插件easy explore
  • 原文地址:https://www.cnblogs.com/zhuxudong/p/10223814.html
Copyright © 2011-2022 走看看