2011-01-26 4 views
1

내가 게시물 클래스 (예를 들어, 블로그 포스트), 그것은 몇 가지 방법이있을 것이다 경우 :OOP - 게시물을 삭제해야합니까?

  • getReplies()
  • getViews()를
  • LogView의()

등등 ...

하지만 deletePost()는 어디로 이동합니까? 나는 그것이 포스트 클래스에 들어가면 안된다고 생각하겠습니까?

답변

4

deletePost()는 Post 클래스의 마스터 (벽 또는 BlogPage 또는 그 라인을 따라있는 항목 일 가능성이 높습니다)에있을 가능성이 큽니다. 벽이 게시물을 포함 (이에 addPost() 메소드의 일종있을 것입니다 때문에, 당신은 또한뿐만 아니라 거기 deletePost() 메소드를 포함 할 것이다 예 (거친 자바에서) 아래 :!

deletePost
public class Wall { 
    ArrayList<Post> wallposts; 
    public addPost(Post newpost) { 
      this.wallposts.add(newpost); 
    } 
    public deletePost(Post p) { 
      this.wallposts.remove(p); 
    } 
} 
2

활성 레코드 패턴을 사용하고있는 것처럼 보입니다. 그러면 데이터베이스에서 삭제하는 것에 대해 이야기하는 경우 Post 클래스에서 delete() 메소드를 사용하는 것이 좋습니다.

게시물을 가져 오는 데 DAO 클래스를 사용하고 있습니까? 삭제가 있어야합니다.

1

() 포스트 클래스의 삭제 기능을 호출해야합니다.

게시물을 모두 포함하는 포스트 관리자가 있다고 가정하고, 삭제할 때마다 포스트 관리자 게시물 자체에 삭제 사실을 알리면 게시물이 그 자체에 대한 모든 것을 처리 할 수 ​​있습니다 (게시물, 댓글 등에 대한 답장 삭제), 포스트 매니저가 알지 못하는 사항들

public class Post{ 
     ..... 
     public delete() { 
     // Do database stuff here or any clean up that the Post needs to do.... 
     } 
} 


public class PostManager{ 
     ArrayList<Post> posts; 
     .... 
     public deletePost(Post p){ 
     p.delete(); 
     } 
    } 

EDIT : 질문에 대답하려면 예, 자체가 삭제되어야합니다. 사후 관리인에게 알려줍니다.

관련 문제