Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
import java.math.{BingInteger => JBigInt}
import java.lang.{Long => JLong}
class Pojo {
<hh user=BeanProperty> var id: JBigInt = _
<hh user=BeanProperty> var name: String = _
<hh user=BeanProperty> var count: JLong = _
}
class Pojo {
var id: Option[BigInt] = _
var name: Option[String] = _
var count: Option[Long] = _
}
Говорится что ООП это плохо, при этом как писать без ООП не говориться.
x = x + 1;. Сами понятия «переменная», «поток выполнения», «ветвление», «цикл» очень плохо вводится без обращения к архитектуре компьютера. «Функция», даже «ФВП» более естественны что ли.new Dictionary<string, Func<string, string, Expression<Func<MyEntity, bool>>>>Функции как first-class citizen. Да, удобное и компактное представление для паттерна «стратегия»
Когда я только начинал писать тесты, я пользовался рефлексией — за что мне до сих пор стыдно.Не положено по чину. Место рефлексии и инжиниринга бинарного кода — во фреймворках. Ибо трудно тестируется.
user.drink(cup);, а не cup.drink_by(user);drinkManager.perform(user, cup), а user.drink(cup); и cup.drink_by(user);, если уже по глупости были сделаны, для обратной совместимости подцепляются через «визитор».a = 1;
b = 2;
c = 3;
p = get_triangle_perimeter(a, b, c);
s = get_triangle_square(a, b, c);
triangle = new Triangle(1, 2, 3);
p = get_triangle_perimeter(triangle);
s = get_triangle_square(triangle);
triangle = new Triangle(1, 2, 3);
p = triangle.getPerimeter();
s = triangle.getSquare();
get_perimeter(figure) {
if (figure instanceof Triangle)
return figure.a+figure.b+figure.c;
else if (figure instanceof Rectangle)
return (figure.a+figure.b)*2;
}
Вообще это сильная натяжка, ибо наличие парочки неудачный паттернов, записанных со временем в «антипаттерны», вовсе не означает, что все остальные паттерны — тоже кандидаты в антипаттерны.«Ви, возможьно, бедете сьмеятьься», но все паттерны проектирования основаны на таком анти-паттерне, как «копи-паст».
Создали для себя бога - ООП.
Разочаровались в своем боге - ООП.
Нашли нового бога - ФП.
....
продолжение следует через 17 лет использования ФП)
12 уже прошло, xd
Жизнь без объектов