Заметка о LMS и управлении знаниями в бизнесе

9 Июнь 2010 Vitaliy Juravskiy 45 View Comments

km Пишу на данный момент дипломную работу по специальности. Дипломная работа связана с системами проведения занятий, электронного обучения, дистанционного обучения, и подобными системами. Для справки о LMS можно почитать в wiki.

В процессе анализа предметной области и поиска аналогов, читал об использовании таких систем в других странах в частности США. У нас такие системы используются на базе ВУЗов для организации дистанционного обучения например студентов очной формы обучения. Применение в других же сферах я так и не нашел. Но в США пошли дальше, на базе таких систем организовано обучение и повышение квалификации персонала государственных учреждений, а также коммерческих организаций, управляющие структуры которых, заинтересованы в высокой квалификации специалистов организации, а также общей конкурентоспособности организации.

Читать далее...

Immutable (Неизменяемый)

19 Апрель 2010 Vitaliy Juravskiy 38 View Comments

Данный шаблон используется другими шаблонами и является основным, потому что он повышает надежность и управляемость кода, за счет наложения запрета на изменение содержимого объекта класса, реализующего данный шаблон. При этом уменьшаются затраты на совместный доступ к объекту, потому как нет необходимости в синхронизации потоков. Данный шаблон используется или может использоваться многими другими шаблонами проектирования, например объекты значений (Value objects).

Реализация шаблона проста, в конструктор передаются значения, которые определяют неизменяемое содержимое класса, а также существует набор get-методов, которые позволяют получить данные значения. Set-методы, предназначенные для изменения данных отсутствуют.

Пример кода демонстрирующий данный шаблон проектирования:

Читать далее...

Interface and Abstract Class (Интерфейс и абстрактный класс)

21 Март 2010 Vitaliy Juravskiy 81 View Comments

Шаблон делает клиентские классы независимыми от тех классов, которые реализуют поведение (сервис) и при этом позволяет обеспечить согласованное поведение между ними. Мы используем преимущества шаблонов “Interface” и “Abstract superclass” которые включены в рассматриваемый шаблон проектирования. Можно сделать классы которые реализуют некоторый интерфейс, и при этом наследующиеся от абстрактного класса.

interface-and-abstract-class-design-pattern

При использовании данного шаблона проектирования, обычно интерфейс является открытым, а абстрактный класс закрытым, и включает в себя общие части реализации классов реализации ConcreteClass1, ConcreteClass2 и т.д.

Логотипы Google

17 Март 2010 Vitaliy Juravskiy 117 View Comments

Ни для кого ни секрет, что у компании Google есть домены во всех национальных доменных зонах, так же ни для кого не секрет, что если сегодня в какой-то стране значимый день в истории, то по адресу google.xx (где xx – национальный домен страны) мы можем увидеть логотип google стилизованный под это событие.

piday10-hp[1]

Недавно искал официальный адрес компании, и набрел на галерею их логотипов Google за все года. Был удивлен, что к олимпиаде в Ванкувере было сделано так много логотипов, для каждого вида спорта, а например в день создания штрих кода, логотип выглядел как штрих код – просто и со вкусом. Возле каждого логотипа в скобках можно увидеть значимость события, т.е. для каких стран оно актуально.

Categories: Заметки Tags: , ,

Abstract supersclass (Абстрактный суперкласс)

14 Март 2010 Vitaliy Juravskiy 26 View Comments

Обеспечивает согласованное поведение концептуально связанных классов, через общий абстрактный суперкласс.

Класс реализующий данный шаблон проектирования является абстрактным суперклассом, в котором инкапсулирована общая логика связанных классов. Связанные классы расширяют абстрактный класс по средством наследования. Методы с общей логикой и одинаковыми сигнатурами для всех связанных классов, помещаются в суперкласс, Методы с одинаковой сигнатурой, но зависящей от конкретной реализации подкласса, выносятся как абстрактные методы в суперкласс.

abstract supperclass uml diagramm.jpg

Данный шаблон проектирования уменьшает количество кода в подклассах, но при этом вносит зависимости между суперклассом и подклассами, при этом вносимые изменения в суперкласс могут внести нежелательные последствия в отдельных подклассах.