@Ilythiiri: Niestety. On od początku jest. Jestem programistą C# i głównie w takich obszarach się poruszam. Czasami wrzucam JavaScript czy ogólne wzorce projektowe programistyczne np. z Javy, bo tam też jest dosyć aktywne środowisko (jeśli nie bardziej), ale to dalej pozostaje tag zorientowany na C# i .NET.
[ #csharp #dotnet #programowanie #maavfeed ]
Przekroczyliśmy 200 obserwujących! :D

#aspnet
Matt Milican - Building OWIN MiddleWare for ASP.NET vNext
Oren Novotny - Project.json all the things
Matthew P Jones - Exploring the JSON Configuration Files in ASP.NET Core 1.0
Eric L. Anderson - ASP.NET Core Project with Angular 2, Aurelia and an API

#csharp
O Slicingu już raz było w grudniu chyba i to bezpośrednio link do dyskusji na GitHubie, ale
@micze: Ale ja źródła podawałem ze 2 razy i nie są przecież tajne. Wchodzę na agregatory:
http://dotnetblogs.pl/
http://dotnetomaniak.pl/
http://blog.cwa.me.uk/
http://www.alvinashcraft.com/
https://visualstudiomagazine.com/Home.aspx
http://regulargeek.com/
http://csharpdigest.net/

+ kilka blogów oddzielnie, które zazwyczaj się nie pojawiają w agregatorach, a uważam, że są całkiem niezłe:
http://www.exceptionnotfound.net/
http://www.elanderson.net/

+ na reddicie mam /r/csharp, /r/dotnet, /r/programming, /r/nodejs zasubskrybowane.

I ja serio cieszę się z każdej subskrypcji, ale przecież to nie jest jakaś wielka rzecz, którą robię i prawdopodobnie
@Maav: @markaron: Zapominacie o podstawowej rzeczy: repozytorium nie ma nas oddzielić od ORMa. Nie ma nas oddzielić od bazy. Ono ma nas oddzielić od persystencji.

Kto powiedział, że dane muszą być zapisywane w bazie?

Budujesz warstwę modelu. Potrzebujesz gdzieś przechowywać obiekty. Nie interesuje Cię na na razie gdzie, bo to szczegół techniczny, a Ty modelujesz logikę biznesową.

Tworzysz więc interface repo, czegoś co ma Ci dostarczać obiekty i je
@MacDada:

To, że rozwijacie system od 8-u lat i nie ma on Repository nie oznacza, że Wasz kod musi nie działać. Nie mówimy o tym „czy działa” tylko wchodzimy na poziom wyżej, oceniamy jakość kodu (a do tego „działanie” jest podstawą, a potem pojawiają się kolejne czynniki oceny: w tym potencjał zmiany, SOLID, itp.).


Doskonale rozumiem dbałość o jakość kodu (sam jestem tego wielkim orędownikiem) i wartość dodaną jaką Repository może
Od pewnego czasu w swoich projektach do dependency injection używam mega uproszczonej wersji ServiceLocator. Wygląda to mniej więcej tak (c#)

internal abstract class IServices

{

public virtual Collaborator Collaborator { get; protected set; };

...

}


internal class Services : IServices

{

public Services()

{

base.Collaborator = new Collaborator(); //(*)

}

}


internal class XXX /// jakaś fajna skrótowa nazwa projektu

{

public static IServices Services = new Services();

}


//(*) to
@sasik520: Nie znam Twoich wymagań, ale dajmy prosty przykład:
Serwis A używa Serwisu B.
Jak to rozwiązujesz? Strzelam, że masz tam po prostu

class A
{
public void DoSomething()
{
ServiceLocator.B.DoSomethingElse();
//some code here
}
}

Co ma poważną wadę - ukrywasz zależności. Na pierwszy rzut oka nie widać, że A zależy od B (jakby to było w standardowym DI - A prawdopodobnie przyjmowałby B jako parametr konstruktora).
Edit. widzę, że
Mam pobraną z bazy danych encję (w stylu Data Transfer Object czy też Value Object). Różne kombinacje kilku pól mogą oznaczać pewne konkretne stany tej encji (np. ustawiona data w polu cancelled oznacza, że encja ma status cancelled, chyba, że ma również ustawioną datę w polu accepted - wówczas ma status finished - i tym podobne zależności).
Jak się nazywa wzorzec obiektu, który bierze taką encję i zwraca konkretny status?
#
@edgar_k: w tym przypadku - "status" jest po prostu jednowyrazową informacją dla użytkownika.
Ale powiedzmy, że chodzi o obiekt "faktura". W bazie są pola "netto" i "vat", ale dla użytkownika ważne jest też (nieistniejące, wyliczane na bieżąco) pole "total".
Mam do rozwiązania problem: piszę prosty interpreter komend pozwalający na pewną, niewielką dowolność w ich składni. Jednak nie ich składnia jest problemem, a zestaw dostępnych komend w danym momencie. Zależnie od kontekstu w którym się znajduje użytkownik, ma on dostępne dodatkowe komendy. Kontekst zmienia się często, więc zestaw komend jest dosyć dynamicznie budowany.
Znacie jakieś typowe rozwiązanie takiego problemu? Myślicie, że wzorzec Command lub Chain of Responsibility dałby radę o ile zestaw
@Grizwold: No to niestety nic nie polecę poza Googlem – jestem PEWIEN, że są biblioteki ułatwiające pisanie takich rzeczy (skoro są dla #nieprogramowanie #php to tym bardziej będą dla Javy).

Co do wzorców, akurat Command+CommandHandler możesz „zautomatyzować” z CommandBus – czyli robisz szynę ogólną i podpinasz pod nie Handlery – a każdy Handler rozpoznaje czy wspiera Commanda i jeśli tak, to go obsługuje.

W ten sposób masz dowolną elastyczność – jak