Pull to refresh
69
0
Сергей @no_smoking

User

Send message

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

class Class3 implements IClass1, IClass2 {
  constructor(object1: IClass1, object2: IClass2) {
    this._object1 = object1;
    this._object2 = object2;
  }

  funObject1() {
    return this._object1.funObject1();
  }
  funObject2() {
    return this._object2.funObject2();
  }
}

или вот еще один более жизненный пример обработчика платежей

 interface IHandler {
   process(params);
 }

class PayHandler implements {
  process(params) {
    // обработка платежа
  }
}

class ValidateHandler implements IHandler {
  constructor(payHandler:IHandler, rules: Rule[]) {
    this._payHandler = payHandler;
  }
  
  private _validate(params):boolean {
    // Сдесь валидация
    // ....
    return true;
  }
  
  process(params) {
    if(this._validate(params)) {
      return this._payHandler.handler(params);
    } else {
      throw new Error('Validate error');
    }
  }
}

// Тут можно использовать напрямую обработчик
const handler = new PayHandler();
handler.process({});

// А можно завернуть в валидатор

const handler = new ValidateHandler(new PayHandler(),[
  //... правила
])
handler.process({});

Я также поддержу, главное продолжайте читать очень легко и понятно, хочется узнать чем все закончилось :)
Вот не знаю откуда у вас корни но местным известно что такое Озерск, Маяк. А об аварии нам еще в школе рассказывали на ОБЖ и что делать если случится подобное. А на счет скрытия, так паника хуже любой правды, и первым делом властям надо ее избегать а то жертв будет намного больше.
Также с закрытием Google Reader потерял кучу подписок, и так и не нашел достойной замены. Сделал себе свой ридер, пилю по мере потребностей :)
Удивительно как игра заинтересовала всех. Я также не удержался и сделал свою копию, но больше по тому что в оригинале нельзя было играть на моем windows phone 7. А также хотелось испробовать AngularJS. Написал игру с нуля честно не подсматривая в исходники. Рейтинг кстати я сделал для контакта но к сожалению мое приложение не одобрили так как к тому времени когда я его доделал уже две игры находилось в каталоге :(
У нас в городе есть самый обычный перекресток не чем не выделяющийся кроме количества аварий, для него как раз светофоры выставили в такой режим что красный свет горит для всех несколько секунд. Количество аварий снизилось но все же бывают, а все потому что многие уже знают что красный свет уже или еще горит для другого направления и по этом начинают или еще едут на красный свет :)
Смысл в том что для расчета точных координат надо куда больше данных получить, а это уже больше затраченной энергии. Я как понял потом просто недостающая информация берется из глобального справочника и рассчитываются координаты.
Чтоб видимо не проваливались :)
Это наверное сейчас только здоровьем интересуются, а вот 15 лет назад у нас в военкомате заставляли еще вот такие задачки решать. Видимо чтоб понять куда направлять :)
В военкомате подобные задачки спрашивали :)
Я бы на этот вопрос ответил бы так — «Пока не хочу, но Вы можете меня переубедить в этом»
При чем патент подала не та компания которая изобрела этот супер бетон, а строительная компания.
По этому другие компании могут получить этот бетон а вот строить дома из него не могут из за патента.
Вот так и Apple взела две разные технологии, которая собственно не она изобрела, совместила и получила новый патент патент.
Надо срочно патентовать управление многозадачностью мыслями :)
Они не мешают жить обычным людям :)
Во всех IDE которые использовал это не просто поиск а именно переход на определение переменной или функции, которое может быть вообще в другом файле. Ваш поиск так действует или просто ищет все вхождение этого слова? omnicomplition использует реальные свойства объектов или подсказывает только библиотечные функции как в notepad++?
В любом случае IDE очень ускоряет разработку, я знаю потому как программировал так и так. И когда нет возможности использовать привычную IDE, что то найти, отредактировать, разобраться в коде становится намного медленней.
Не знаю как в ViM но я IDE использую по большей части из за авто дополнения, svn и возможности быстро перейти к определению функции/свойству а также посмотреть где используется переменная.
Еще всякие плюшки для рефакторинга.
Эх, если бы только заказчики.
прошу прощение за эту досадную ошибку, заходите по этому адресу softcoder.ru/blogeditor/
var a = [12, 14, 13, 6];
Аrray лучше пробегать так
for(var i = 0, i < a.length; ++i){
  console.log(i, a[i]);
}

это куда быстрей и не влечет тех проблем о которых вы говорите
ну на крайний случай так
a.forEach(function(v,i){
  console.log(i, v);
});
А из какой игры танк с человечком?
У меня и хром не плохо падает :)

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity