The final piece of the puzzle: is this code NOW DISABLED correctly?

Previous related question: Is this code untied and am I doing it right?

This is what my code looks like:

using System.Collections.Generic;
using SharpDIC.Api.Models;

namespace SharpDIC.Api.Interfaces
{
    public interface IMemberFinder
    {
        IList<Member> FindAllMembers();
        Member FindMember(int memberId);
        Member FindMember(string memberName);
    }
}



using SharpDIC.Api.Interfaces;

namespace SharpDIC.Api
{
    public class MemberLister
    {
        private IMemberFinder _finder;

        public MemberLister(IMemberFinder finder)
        {
            this._finder = finder;
        }
    }
}

It seems to be finally unleashed !: D Thank you for your suggestions and help. Now I am asking where I am writing the actual code that will actually GET an XML response from an open API. How can I organize this piece of code?

The reason I use IMemberFinder is because I intend to use JSON and another future open API.

Thanks for helping the guys, you are a huge help for developers who want to expand their horizons.

Edit: : XML? "public class MemberFinder: IMemberFinder", ?

+3
3

,

. , , :

using System;
using System.Collections.Generic;
using SharpDIC.Api.Interfaces;
using SharpDIC.Api.Models;

namespace SharpDIC.Api.Interfaces
{
    public interface IMember
    {
        int Id { get; set; }
        string Name { get; set; }
    }
    public interface IMemberFinder
    {
        IList<IMember> FindAllMembers();
        IMember FindMember(int memberId);
        IMember FindMember(string memberName);
    }
}

namespace SharpDIC.Api.Models
{
    public class Member : IMember
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}

namespace SharpDIC.Api.Classes
{
    public class MyImplementedClass : IMemberFinder
    {
        public IList<IMember> FindAllMembers()
        {
            throw new NotImplementedException();
        }

        public IMember FindMember(int memberId)
        {
            throw new NotImplementedException();
        }

        public IMember FindMember(string memberName)
        {
            throw new NotImplementedException();
        }
    }
}

namespace SharpDIC.Api
{
    public class MemberLister
    {
        private IMemberFinder _finder;

        // you would inject the concrete class MyImplementedClass 
        // here - bingo
        public MemberLister(IMemberFinder finder)
        {
            this._finder = finder;
        }

        public void GetMyXml()
        {
            var result = _finder.FindAllMembers();
        }
    }
}

[] - IMember , .

0

IOC MemberLister, "".

, IMAMESerializer finder, IEnumerable . , , .

0

IMemberFinder ( XmlMemberFinder - XmlMemberFinder.cs) IoC.

, , , , , , ( , - MEF).

Also, any reason your FindMember methods do not return abstractions of your member type (IMember)?

0
source

Source: https://habr.com/ru/post/1780698/


All Articles