2014-11-25 2 views
0

У меня есть следующие классы и интерфейсы:UML: моделирование связи между классом и интерфейсом

public interface IPersistentObject { } 

public class PersistentObject implements IPersistentObject { } 


public interface IPersistentObjectDAO { } 

public class PersistentDAO implements IPersistentObjectDAO { } 


public interface IService1 { } 

public class Service1 implements IService1{ 

    @Autowired 
    private IPersistentObjectDAO persistentDAO; 
} 


public interface IService2 { } 

public class Service2 implements IService2 { 

    @Autowired 
    private Iservice1 service1; 
} 


public class Bean { 

    private IService2 service2 = JSFUtil.resolveBean("service2"); 
} 

<bean name="service1" class="Service1"/> 
<bean name="service2" class="Service2"/> 

Мой вопрос: Как я должен моделирующие эти ассоциации?

Если это может помочь, я использую JSF, Spring и Hibernate

+0

с диаграммой классов? я не понимаю, какие JSF, Spring и hibernate будут меняться в вашей модели UML. – jhamon

ответ

0

Если вы используете интерфейс, то это означает, что ваша модель должна быть

JSF боб/впрыснуть - интерфейс-> реализован класс (DAO) -> Объект БД

Итак, ваши компоненты JSF должны находить и вводить интерфейсы Spring.

Весенний сервис может быть отделен банкой, которую вы можете ввести в передний конец JSF.

в JSF

@ManagedProperty("#{handlerService}") 
    private HandlerService handlerService = null; 

Spring

@Service("handlerService") 
@Component 
public class HandlerService { 

    @Autowired 
    private DomainService domainService; 
0

Если ваша проблема просто моделирования, просто посмотрите здесь: http://www.uml-diagrams.org/generalization.html Вы должны указать из класса, которые реализуют к интерфейсу. Например: «Service2» --- l> «IService2»

Если это что-то еще, уточните свой ответ.

0

Для интерфейсов отношение к его разработчикам называется «реализация», а не «обобщение».

И он переходит от интерфейса к классу, который реализует его, см. Ниже.

Класс ----> Интерфейс

Смежные вопросы