Шаблоны проектирования на языке ассемблера - PullRequest
2 голосов
/ 02 февраля 2010

В принципе, есть ли?

Мне хочется думать, что они существуют. Например, шаблонный метод может быть реализован в виде серии «прыжков», где цель прыжка указывается «извне». Синглтон будет просто известным местом в памяти / коде и т. Д.

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

Ответы [ 3 ]

12 голосов
/ 02 февраля 2010

Язык ассемблера больше о "хитростях", чем шаблонах проектирования. В то время как шаблоны проектирования высокого уровня все еще могут быть продуманы и введены в игру, большинство сборщиков больше заботятся о тактах и ​​использовании уловок инструкций.

Например, в x86 это быстрее сделать xor eax, eax, чем mov eax, 0.

Суть, которую я подчеркиваю (спасибо за отрицательное голосование!), Заключается в том, что с помощью языка ассемблера вы хотите больше сосредоточиться на мелких деталях, чем на большом дизайнерском изображении. Точно так же, как вы не будете фокусироваться на мелких деталях скорости исполнения на языке высокого уровня.

5 голосов
/ 02 февраля 2010

Первое определение в Google: «шаблон проектирования - это общее многоразовое решение часто встречающейся проблемы в разработке программного обеспечения».

По этому стандарту я бы сказал, что они определенно существуют.

Первое, что приходит на ум, это таблица прыжков.

1 голос
/ 02 февраля 2010

Применимо к шаблонам проектирования ОО:

Люди обычно реализуют языковые конструкции более высокого уровня, такие как полиморфизм наследования, и используют их в качестве строительных блоков для реализации своих намерений в шаблонах проектирования. Но тогда, может быть, проще найти компилятор c или c ++ для платформы и использовать шаблоны проектирования без хлопот реализации основных функциональных возможностей oo.

...