[Rust] prelude 패턴

devlcw·2024년 3월 16일
post-thumbnail

Prelude란?

'전주곡' 이란 의미로 개발 전 편하게 모듈을 import 하려고 생긴 러스트의 디자인 패턴이다.
보통 큰 프로젝트은 대부분 이런 방식을 쓴다. yew.rs 등등..

사용 예시

예를 들어 다음과 같은 상황은 prelude 패턴이 필요할 수 있다.

use crate::foo::bar::baz;
use crate::foo::bar::qux;
use crate::foo::bar::quz;
use crate::foo::bar::foobar;

위 코드에서 baz, qux, quz, foobar 이 기본적으로 해당 모듈에서 중요한 모듈이라고 가정한다.

그럼 항상 저 모듈들을 import 시키기엔 코드 용량도 커지고 중복된 코드가 많이 생길 수 있다.

그래서 같은 디렉토리에 있는 prelude.rs 파일에 다음과 같이 정의할 수 있다.

pub use foo::bar::baz::*;
pub use foo::bar::qux::*;
pub use foo::bar::quz::*;
pub use foo::bar::foobar::*;

이후에 그냥 prelude.rs 모듈을 import 시켜서 사용하면 된다.

use crate::foo::bar::prelude::*;
profile
모든 스택에는 이유가 있다

0개의 댓글