원활한 API로 개발자가 라이브러리를 즐겨 사용할 수 있습니다.

9045 단어 tipswebdevdotnet
제3자 라이브러리에 실망한 것을 발견했습니까? 이 라이브러리들이 유용해야 합니까?사용 편이성?
몇 주 전에 구축한 좋은/다시 사용할 수 있는 종류로 돌아왔지만, 그것을 어떻게 사용해야 할지 몰랐다.기점으로 삼을 만한 뚜렷한 것은 없습니까?
따라서 문서를 보기로 결정했지만 라이브러리를 사용하는 데 필요한 것을 찾아내는 데 1시간밖에 걸리지 않았습니다!
나는 이미 그곳에 여러 번 가 보았다.
저는 전체 직업 생활에서 중용 가능한 부품을 구축하여 100% 간단명료하고 쉽게 사용할 수 있는 방법이 있는지 생각해 왔습니다.당신이 정확하게 사용하도록 지도하는 것들

우리들은 가장 좋은 사람에게 배우게 하다


우리들은 가장 좋은 사람에게 열심히 공부합시다.가장 사용하기 쉬운 도구.다음은 개인적으로 재미있는 몇 가지 도구입니다.
  • Laravel(PHP 프레임워크)
  • JQuery
  • .순수 코어
  • 링크
  • 나에게 있어서 이것들은 내가 직업 생활에서 만난 가장 사용하기 쉽지만 기능이 강한 도구들을 대표한다.
    JQuery는 더 이상 사용하지 않으며 선택에 따라 사용하지 않습니다.그러나 JQuery가 DOM 사용을 더욱 즐겁게 하는 데는 당시 로컬 도구에 비해 동의합니다.
    그렇다면 이 모든 도구들의 공통점은 무엇입니까?무엇이 그것들을 이렇게 쉽게 사용합니까?
    원활한 API입니다.

    응?Fluent API란 무엇입니까?


    용어'유창'의 의미는'유창한 API'가 어느 정도 (구어) 언어와 관련이 있다는 것이다.예를 들어, 너는 유창한 영어를 말할 수 있다.
    유창한 인터페이스는 코드를 어떻게 쉽게 자연스럽게 읽는지, 마치 책을 읽는 것처럼 프로그래밍 스타일이다.

    가독성


    예:NET Core 에서 이러한 코드를 발견할 수 있습니다.
    app.UseDeveloperExceptionPage()
        .UseDatabaseErrorPage();
    
    이것은 쉽게 이해하고 읽을 수 있다.개발자 이상 페이지를 사용하려고 합니다. (이 페이지는 개발자에게 좋은 디버깅 정보를 제공합니다.)데이터베이스 오류가 발생했을 때, 특수한 오류 페이지를 사용하고 싶습니다.

    새 잠금 해제 방법


    다른 예를 살펴보겠습니다.
    services
        .AddMvc()
        .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    
    이 예에서 AddMvc 방법을 사용하면 이 특정한 상하문에서만 의미가 있는 다른 방법에 대한 접근을 해제합니다.
    이것은 나에게 있어서 유창한 인터페이스의 가장 강력한 부분이다. 그것은 당신이 현재 환경에서 의미 있는 것만 사용할 수 있도록 허락한다.

    기타 이점


    fluent API가 올바르게 완료되면 다음을 수행할 수 없습니다.
  • 잘못된 순서로 호출하는 방법 (이런 코드를 사용한 적이 있습니까?)
  • 어디서부터 시작해야 할지 모르겠습니다(IDE intellisence가 "시작"할 수 있는 방법을 알려주기 때문입니다)
  • 일부 호출 특정 체인의 방법.(예: "Done"메서드를 호출하는 것을 잊어버려서 논리를 실행하지 않았습니다.)
  • 만약 네가 이런 생각을 계속 읽고 싶다면, 너는 읽을 수 있다this post where I discuss more benefits you get with fluent APIs.

    실제 라이브러리에 적용


    상기 이유(그리고 제가 링크된 게시물의 이유)로 작성Coravel할 때 fluent API를 사용했습니다.나는 이것이 사람들이 그것을 사용하는 주요 원인 중의 하나라고 생각한다. 그것은 사용하기 쉽다.
    예를 들어, 당신은 이 코드가 무엇을 하려고 하는지 알 수 있습니까?

    이것이 바로 유창한 스타일로 작성된 코드가 얼마나 이해하기 쉬운가이다.의심할 여지없이 이 코드의 작용.

    마법사와 유사한 코드 완성


    Visual Studio 코드에서 Coravel을 사용하는 경우:

    누군가가 어떤 일을 안배하려고 할 때, 그들은 새로운 방법을 사용할 수 있다.이러한 방법은 일부 내용을 스케줄링하는 상하문에서만 사용할 수 있다.
    이곳에는 다른 상하문 중의 방법의 유실이 없다.
    주파수를 선택하면 이 방법이 사라지고 새 선택 그룹에 접근할 수 있습니다.

    이제 원활한 API를 구축합시다!


    그래서 궁금해요. - 제가 어떻게 만들어야 돼요?
    기본적인 fluent API를 구축하는 것은 사실상 매우 간단하다.관건적인'기교'는 클래스의 방법으로 하나의 인터페이스를 되돌릴 수 있으며, 이 인터페이스는 호출자가 사용할 수 있는 방법을 제한한다.
    다음은 작업 예제입니다.
    public class MyFluentClass : ICalculation, IResult
    {
      private int _value;
      private int _result;
    
      private MyFluentClass() { }
    
      public static ICalculation WithValue(int value)
      {
        return new MyFluentClass
        {
          _value = value
        };
      }
    
      public IResult Add(int toAdd)
      {
        this._result = this._value + toAdd;
        return this;
      }
    
      public IResult Subtract(int toSubtract)
      {
        this._result = this._value - toSubtract;
        return this;
      }
    
      public int Result() => this._result;
    }
    
    public interface ICalculation
    {
      IResult Add(int toAdd);
      IResult Subtract(int toSubtract);
    }
    
    public interface IResult
    {
      int Result();
    }
    
    참고 사항:
  • 강제 호출자가 정적 공장 방법을 사용할 수 있도록 개인 구조 함수를 사용
  • 정적 공장 방법으로 실례를 방문할 수 있는 개인 구성원
  • WithValue 반환 인터페이스ICalculation.이것이 바로 호출자가 사용할 수 있는 방법을 제한하기 시작한 이유다.
  • AddSubtract 반환 인터페이스IResult.이것이 바로 쇠사슬을 풀기 위한 다음 일련의 방법(마침 Result이다.
  • 다음은 실제 효과입니다.



    결론


    본문을 읽어주셔서 감사합니다. - 저는 당신이 새로운 것을 배우고 그 내용을 좋아하길 바랍니다!
    그나저나 이것은 나의 시리즈 문장인'지금까지 내가 코라벨을 구축하는 데 배운 것'의 두 번째 부분이다.다음은 이 시리즈의 다른 부분입니다.
    Part 1 - What I've Learned So Far Building Coravel (Open Source .NET Core Tooling)
    이 글은 builtwithdot.net's blog에 처음 등장했다.

    소프트웨어 개발 직업 안내


    이메일 시사 통신, 나는 구독자의 질문에 대답하고 다음과 같은 주제에 대해 건의를 제공할 것이다.
    ✔ 소프트웨어 개발자의 일반적인 단계는 무엇입니까?
    ✔ 내가 어느 단계에 처해 있는지 어떻게 알겠는가?나는 어떻게 다음 단계에 들어갑니까?
    ✔ 무엇이 기술 지도자입니까? 저는 어떻게 기술 지도자가 됩니까?
    재밌게 들리시나요?Join the community!

    좋은 웹페이지 즐겨찾기