Wpis z mikrobloga

@mpmp-pmpm: to jest bardzo popularny wzorzec w matematyce, jedynie problemy z implementacją w starszych kompilatorach języków statycznie typowanych spowodował, że jest mniej popularny w programowaniu.

No bo popatrz - co to jest pochodna? Co to jest całka? Co to jest rodzina funkcji? Co to jest konstruktor? Albo szablon?

To wszystko można rozumieć na podstawowym poziomie jako funkcja zwracająca funkcję.
  • Odpowiedz
@mpmp-pmpm: jak najbardziej kwestia przyzwyczajeń. Poza tym całkiem możliwe, że używasz tego, tylko implementując to koślawie na klasach abstrakcyjnych :) Przykład:

Powiedzmy, że masz w wielu miejscach w kodzie:

bool doSthXYZ(Database db, Parameters parameters) {
Transaction tx
  • Odpowiedz
@mpmp-pmpm: jaki masz problem z debugowaniem? Normalnie debugger wchodzi Ci do tej funkcji, tak samo, jakby była nazwaną metodą klasy.

A że mniej kodu zwykle (i w tym wypadku) = lepiej, to łatwo stwierdzić próbując dodać do tych 100 funkcji logowanie, albo autoryzację, albo inną dodatkową logikę. Kiedy masz 1 punkt wejścia to programowanie znacznie się upraszcza. Tak, można aspektami. Tylko po co, skoro to jest prostsze. A aspekty to
  • Odpowiedz
@tell_me_more: Ten przykład 100 funkcji to zły przykład bo tak się nie programuje. Dla mnie ten cały closure to wyłącznie kosmetyka, nie wnosi do programowania jakichś nowych możliwości, których język obiektowy bez tej konstrukcji by nie miał. Kwestia estetyki.
  • Odpowiedz