uno.extensions icon indicating copy to clipboard operation
uno.extensions copied to clipboard

[MVUX] Builder pattern for Feeds

Open kazo0 opened this issue 1 year ago • 1 comments

We should introduce a fluent builder pattern for creating/observing/manipulating Feeds/States on a model.

So Instead of needing to define the model and then subscribe to changes separately:

public record MyModel
{

	public IFeed<Something> MyFeed => Feed.Async(.....);
	
	public MyModel()
	{
		MyFeed.ForEach(.....)
	}

}

We should have it all defined as part of a builder flow, something like:

public IFeed<Something> MyFeed => Feed.Async(.....).ForEach(.....);

We could even include add usage for subscribing to reactive messaging:

public record MyModel(IMessenger Messenger)
{
	public IFeed<Something> MyFeed => Feed
		.Async(.....)
		.ForEach(.....)
		.Observe(Messenger, something => something.Id);
}

kazo0 avatar Jul 25 '24 14:07 kazo0