Словарь ИТшника

Словарь постоянно развивается и растёт. В этом словаре собраны термины и сокращения по программированию, безопасности и другим темам.

CQS

Программирование

CQS (Command Query Separation) — это принцип проектирования, предложенный Бертраном Мейером (автором языка Eiffel), согласно которому методы объекта должны быть либо командой, либо запросом, но не одновременно.

Каждый метод должен быть либо:

Командой — изменяет состояние объекта, но не возвращает значение.

Запросом — возвращает данные, но не изменяет состояние.

# Нарушает CQS:
def withdraw(amount):
    balance -= amount
    return balance  # и меняет, и возвращает

# Соответствует CQS:
def withdraw(amount):
    balance -= amount  # команда

def get_balance():
    return balance     # запрос

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне