먼저 C와 C++ 모두에서 상당한 양의 경험을 얻었습니다. 그러나 C에서 새 프로젝트를 시작하고 있으며 오랫동안 (C# 및 C++) 객체 지향 언어로 작업하여 절차 언어로 기능을 캡슐화하는 효과적인 방법을 생각해 내는데 어려움을 겪고 있습니다. 내 첫번째 생각은 단순히 내 OO 지식을 후퇴하고 그것을 같은 구조했다 :C 프로그램을 효과적으로 구성하는 방법
struct Foo
{
int x;
char *y;
};
struct Foo *new_Foo()
{
return (struct Foo *)malloc(sizeof(struct Foo));
}
void Foo_member_function(struct Foo *foo, int z)
{
foo->x = z;
}
을하지만 그냥 가난한 남자의 OO 것을 언급하지 않기 위하여 C의 정신에 지루하고 반대로 보인다.
이 프로그램은 궁극적으로 상당한 규모가 될 것이므로 좋은 디자인 조직에서 시작하는 것이 중요합니다. C 언어의 개발로 수년간 유지 보수를위한 코드를 가장 잘 구조화하는 방법에 대한 특정 디자인 패턴이 개발되었다고 생각합니다. 함수형 프로그래밍과 마찬가지로, 절차 형 프로그래밍에는 깨끗하고 공정한 패러다임이 필요합니다.
관련 기사 및 서적에 대한 포인터도 허용됩니다.
그들은 모두 유용한 맛있는 가벼운 음식을 가지고 있기 때문에 하나의 대답만을 골라내는 것이 싫지만 불투명 포인터 참조는 아마도 내가 알지 못했던 가장 유용한 것이었을 것입니다. 감사! – HVS