Новый эмулятор Lineage II - Страница 13 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 14.01.2013, 15:05   #121
Аватар для bloodshed
Герой

По умолчанию Re: Новый эмулятор Lineage II

 
public interface Server {
    void start();
    void init();
    void close();
    /*.........*/
}
 
publiс final class GameServer implements Server {
    /*.........*/
}
 
publiс final class LoginServer implements Server {
    /*.........*/
}
 
Code: Java
какой профит от этого интерфейса?
__________________
bloodshed вне форума Отправить сообщение для bloodshed с помощью ICQ Отправить сообщение для bloodshed с помощью Skype™ Ответить с цитированием
Непрочитано 14.01.2013, 15:07   #122
Аватар для DiagoD

По умолчанию Re: Новый эмулятор Lineage II

Цитата:
Сообщение от Anikey Посмотреть сообщение
У серверов нет вообще логики

Нет проектирования программы...
Интерфейсов нет...

Где к примеру реализация

Код:
public interface Server {
    void start();
    void init();
    void close();
    /*.........*/
}

publiс final class GameServer implements Server {
    /*.........*/
}

publiс final class LoginServer implements Server {
    /*.........*/
}
и

Код:
public class Enums {
    public enum DbaseType {
        MySql,
        MsSql
    }
    public enum IdFactoryType {
        Compaction,
        BitSet,
        Stack;

        public static IdFactoryType type(final String key) {
            return Enums.IdFactoryType.valueOf(Config.strs(key, "IDFactory", "Compaction"));
        }
    }
}

Enums.DbaseType.MySql;

Enums.IdFactoryType.type("key");
Вы простите но почему-то вспомнилась школа/вуз когда мне ставили двойки из-за того, что я всегда все расчеты делал в уме и записывал только или ответ или сотую часть расчетов где мне было не подсилу это в голове сделать.
Не всегда эта ваша красота и удобность оправдывает себя.
Да без условно, грамотно составленная логика реализации и т.д. на много приятный, кошерней смотрится нежеле это "детское порно" которое есть, но я вас уверяю, что с этим порно будет на много удобней работать чем с миллионом интерфейсов, чем с миллиардом подпапок и т.д.

Хотя может быть я вас не верно понял, тогда прошу прощение)
__________________
open-team.ru - Freya, HighFive...
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Непрочитано 14.01.2013, 15:11   #123
Аватар для bloodshed
Герой

По умолчанию Re: Новый эмулятор Lineage II

Пример наверно не удачный.
Но в нынешних (думаю во всех) сборках есть полно других мест, что можно и нужно бы переделать, чтоб было удобнее и быстрее работать и разработывать, исправлять и тд. Но интерфейс для сервера имхо лишний. С DbaseType, IdFactoryType тоже, ибо только по одной реализации.
__________________
bloodshed вне форума Отправить сообщение для bloodshed с помощью ICQ Отправить сообщение для bloodshed с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 14.01.2013, 15:18   #124
Герой

По умолчанию Re: Новый эмулятор Lineage II

Да не очень удачно, блин, вообщем, потом, тогда там просто все в одном как бы не так будет ...
Кто сказал, что будет много интерфейсов, это пример.

Что вы так на меня

Если честно мне интересно я для себя делаю, а так вообще все равно), потом может быть в шару кину))

Кому будет интересно посмотрят творение

Добавлено через 7 минут
Цитата:
Сообщение от bloodshed Посмотреть сообщение
какой профит от этого интерфейса?
Да от такого что то я не так написал, очепятка)) Да пофиг, как работают интерфейсы знаете думаю)))

Добавлено через 31 минуту
Чито так:

public static void printGeneralSystemInfo() {
        final Date Date = new Date();
        final SimpleDateFormat SimpleDateFormat = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss aa");
        final String String = SimpleDateFormat.format(Date);
        Logs.log(Levels.INFO, "..................................................\r\n"
                + "System time: " + String + "\r\n"
                + "..................................................\r\n"
                + "OS: " + Util.getSystemInfo("osName") + "\r\n"
                + "OS Version: " + Util.getSystemInfo("osVersion") + "\r\n"
                + "OS Arch: " + Util.getSystemInfo("osArch") + "\r\n"
                + "..................................................\r\n"
                + "Avaible CPU(s): " + Util.getAvailableProcessors() + "\r\n"
                + "Processor(s) Identifier: " + System.getenv("PROCESSOR_IDENTIFIER") + "\r\n"
                + "..................................................\r\n"
                + "Runtime Information\r\n"
                + "Current Free Heap Size: " + Util.getMemory("freeMemory") + " mb\r\n"
                + "Current Heap Size: " + Util.getMemory("totalMemory") + " mb\r\n"
                + "Maximum Heap Size: " + Util.getMemory("maxMemory") + " mb\r\n"
                + "..................................................\r\n"
                + "Java Platform Information\r\n"
                + "Java Runtime Name: " + Util.getSystemInfo("javaRuntimeName") + "\r\n"
                + "Java Version: " + Util.getSystemInfo("javaVersion") + "\r\n"
                + "Java Class Version: " + Util.getSystemInfo("javaClassVersion") + "\r\n"
                + "..................................................\r\n"
                + "Virtual Machine Information (JVM)\r\n"
                + "JVM Name: " + Util.getSystemInfo("jvmName") + "\r\n"
                + "JVM installation directory: " + Util.getSystemInfo("javaHome") + "\r\n"
                + "JVM version: " + Util.getSystemInfo("jvmVersion") + "\r\n"
                + "JVM Vendor: " + Util.getSystemInfo("jvmVendor") + "\r\n"
                + "JVM Info: " + Util.getSystemInfo("jvmInfo") + "\r\n"
                + "..................................................\r\n");
    }
Code: Java


Ну и логичнее сделать так:

public final class Levels extends Level implements Serializable {
 
    private static final long serialVersionUID = 1L;
    private static final String defaultBundle = "sun.util.logging.resources.logging";
    public static final Level ERROR = Levels.setLevel("ERROR");
    public static final Level CONNECT = Levels.setLevel("CONNECT");
 
    protected Levels(final String name, final int value) {
        super(name, value, Levels.defaultBundle);
    }
 
    private static Level setLevel(final String key) {
        return new Levels(key, Integer.MAX_VALUE);
    }
}
 
Levels.INFO
 
Levels.ERROR
 
Code: Java



Добавлено через 57 минут
Оо

public class Application {
    public static void main(String... args) {
        //Application.func1(); <- error
        Application.func2(); //success -> func2
        final Application Application = new Aplication();
        Application.func1(); //success -> func1
        Application.func2(); //success -> func2
    }
 
    public void func1() {
       System.out.println("func1");
       /*......*/
    }
 
    public static void func2() {
       System.out.println("func2");
       /*......*/
    }
}
Code: Java

Последний раз редактировалось Anikey; 14.01.2013 в 16:27. Причина: Добавлено сообщение
Anikey вне форума Ответить с цитированием
Непрочитано 16.01.2013, 20:56   #125
Аватар для bloodshed
Герой

По умолчанию Re: Новый эмулятор Lineage II

Цитата:
Сообщение от Anikey Посмотреть сообщение
Чито так:

public static void printGeneralSystemInfo() {
        final Date Date = new Date();
        final SimpleDateFormat SimpleDateFormat = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss aa");
        final String String = SimpleDateFormat.format(Date);
        Logs.log(Levels.INFO, "..................................................\r\n"
                + "System time: " + String + "\r\n"
                + "..................................................\r\n"
                + "OS: " + Util.getSystemInfo("osName") + "\r\n"
                + "OS Version: " + Util.getSystemInfo("osVersion") + "\r\n"
                + "OS Arch: " + Util.getSystemInfo("osArch") + "\r\n"
                + "..................................................\r\n"
                + "Avaible CPU(s): " + Util.getAvailableProcessors() + "\r\n"
                + "Processor(s) Identifier: " + System.getenv("PROCESSOR_IDENTIFIER") + "\r\n"
                + "..................................................\r\n"
                + "Runtime Information\r\n"
                + "Current Free Heap Size: " + Util.getMemory("freeMemory") + " mb\r\n"
                + "Current Heap Size: " + Util.getMemory("totalMemory") + " mb\r\n"
                + "Maximum Heap Size: " + Util.getMemory("maxMemory") + " mb\r\n"
                + "..................................................\r\n"
                + "Java Platform Information\r\n"
                + "Java Runtime Name: " + Util.getSystemInfo("javaRuntimeName") + "\r\n"
                + "Java Version: " + Util.getSystemInfo("javaVersion") + "\r\n"
                + "Java Class Version: " + Util.getSystemInfo("javaClassVersion") + "\r\n"
                + "..................................................\r\n"
                + "Virtual Machine Information (JVM)\r\n"
                + "JVM Name: " + Util.getSystemInfo("jvmName") + "\r\n"
                + "JVM installation directory: " + Util.getSystemInfo("javaHome") + "\r\n"
                + "JVM version: " + Util.getSystemInfo("jvmVersion") + "\r\n"
                + "JVM Vendor: " + Util.getSystemInfo("jvmVendor") + "\r\n"
                + "JVM Info: " + Util.getSystemInfo("jvmInfo") + "\r\n"
                + "..................................................\r\n");
    }
Code: Java


Ну и логичнее сделать так:

public final class Levels extends Level implements Serializable {
 
    private static final long serialVersionUID = 1L;
    private static final String defaultBundle = "sun.util.logging.resources.logging";
    public static final Level ERROR = Levels.setLevel("ERROR");
    public static final Level CONNECT = Levels.setLevel("CONNECT");
 
    protected Levels(final String name, final int value) {
        super(name, value, Levels.defaultBundle);
    }
 
    private static Level setLevel(final String key) {
        return new Levels(key, Integer.MAX_VALUE);
    }
}
 
Levels.INFO
 
Levels.ERROR
 
Code: Java



Добавлено через 57 минут
Оо

public class Application {
    public static void main(String... args) {
        //Application.func1(); <- error
        Application.func2(); //success -> func2
        final Application Application = new Aplication();
        Application.func1(); //success -> func1
        Application.func2(); //success -> func2
    }
 
    public void func1() {
       System.out.println("func1");
       /*......*/
    }
 
    public static void func2() {
       System.out.println("func2");
       /*......*/
    }
}
Code: Java
Что это за рандом?)
__________________
bloodshed вне форума Отправить сообщение для bloodshed с помощью ICQ Отправить сообщение для bloodshed с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] Эмулятор Tera online MetaWind Рынок / Marketplace 21 19.05.2013 09:59
Эмулятор lineage 2 от команды Initiative Project crazy_voin Lineage II 15 24.06.2012 17:13
Lineage 2 Новый Диск Cracatau Lineage II 2 12.01.2010 17:22
Эмулятор ГГ для Lineage II Hellbound Milldi Игровой клиент 2 04.08.2008 22:58


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 13:41. Часовой пояс GMT +3.

Вверх