「java设计dsl」Java设计模式工厂模式

博主:adminadmin 2022-12-17 08:42:06 69

本篇文章给大家谈谈java设计dsl,以及Java设计模式工厂模式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java程序设计

其实这个就是关系映射的基础拉,2个POJO类,当然代码可以让计算机自动生成的

import java.io.Serializable;

import java.util.*;

public class Student implements Serializable{

private Long id;

private String name;

private int age;

private Set courses=new HashSet();

public Student(String name, int age, Set courses) {

super();

// TODO Auto-generated constructor stub

this.name = name;

this.age = age;

this.courses = courses;

}

public Student(){

}

public Student(String name, int age) {

super();

// TODO Auto-generated constructor stub

this.name = name;

this.age = age;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@Override

public String toString() {

// TODO Auto-generated method stub

return "id "+id+" name "+name+" age "+age;

}

public Set getCourses() {

return courses;

}

public void setCourses(Set courses) {

this.courses = courses;

}

}

import java.io.Serializable;

public class Course implements Serializable{

private Long id;

private String couseName;

private int score;

private Student student;

public Course(String couseName, int score) {

super();

// TODO Auto-generated constructor stub

this.couseName = couseName;

this.score = score;

}

public Course(){

}

@Override

public String toString() {

// TODO Auto-generated method stub

return " id "+id+" courseName "+couseName+" score = "+score;

}

public String getCouseName() {

return couseName;

}

public void setCouseName(String couseName) {

this.couseName = couseName;

}

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public int getScore() {

return score;

}

public void setScore(int score) {

this.score = score;

}

public Student getStudent() {

return student;

}

public void setStudent(Student student) {

this.student = student;

}

}

学生和课程是一对多的关系啊,你学了JDBC或者是Hibernate就会明白地

java六大设计原则?

1、单一职责原则

不要存在多于一个导致类变更的原因,也就是说每个类应该实现单一的职责,如若不然,就应该把类拆分。

2、里氏替换原则(Liskov Substitution Principle)

里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。

里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。

LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。——

From Baidu 百科

历史替换原则中,子类对父类的方法尽量不要重写和重载。因为父类代表了定义好的结构,通过这个规范的接口与外界交互,子类不应该随便破坏它。

3、依赖倒转原则(Dependence Inversion Principle)

这个是开闭原则的基础,具体内容:面向接口编程,依赖于抽象而不依赖于具体。写代码时用到具体类时,不与具体类交互,而与具体类的上层接口交互。

4、接口隔离原则(Interface Segregation Principle)

这个原则的意思是:每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分。使用多个隔离的接口,比使用单个接口(多个接口方法集合到一个的接口)要好。

5、迪米特法则(最少知道原则)(Demeter Principle)

就是说:一个类对自己依赖的类知道的越少越好。也就是说无论被依赖的类多么复杂,都应该将逻辑封装在方法的内部,通过public方法提供给外部。这样当被依赖的类变化时,才能最小的影响该类。

最少知道原则的另一个表达方式是:只与直接的朋友通信。类之间只要有耦合关系,就叫朋友关系。耦合分为依赖、关联、聚合、组合等。我们称出现为成员变量、方法参数、方法返回值中的类为直接朋友。局部变量、临时变量则不是直接的朋友。我们要求陌生的类不要作为局部变量出现在类中。

6、合成复用原则(Composite Reuse Principle)

原则是尽量首先使用合成/聚合的方式,而不是使用继承。

北大青鸟设计培训:java中自动化构建工具?

一个大型的java项目的开发往往需要加载很多的各式各样的第三方jar包依赖,这时就需要专门工具来维护这些繁杂的jar包,否则各个jar包的版本问题,依赖问题会让你头很大,当多个团队协作开发时,项目的标准框架配置也需要能够快速在不同团队之间复制,另外项目从创建、开发、测试、发布的整个项目生命周期也需要专门的工具来维护。

自动化构建工具就是为了解决以上这些问题的。

目前比较主流的自动化构建工具主要有:Maven、gradle、Ant等。

其中Ant已经走下坡路,除了维护以前的老项目以外,已经基本没有公司用了。

过去几年中Maven已经成为java项目的事实构建工具,没有之一。

而近两年Gradle获得越来越多的人使用,分走了不少Maven的用户。

在这我们主要了解一下Maven和gradle。

MavenMaven是一个采用纯Java编写的开源项目管理工具。

它包含了一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(DependencyManagementSystem),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

Maven采用了一种被称之为projectobjectmodel(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个生命周期,包括编译,构建,测试,发布,报告等等。

gradleGradle是一个基于ApacheAnt和ApacheMaven概念的项目自动化建构工具。

它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

面向Java应用为主。

当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。

和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作用的是Plugin。

Gradle在默认情况下为我们提供了许多常用的Plugin,其中包括有构建Java项目的Plugin,还有War,Ear等。

南宁电脑培训发现与Maven不同的是,Gradle不提供内建的项目生命周期管理,只是javaPlugin向Project中添加了许多Task,这些Task依次执行,为我们营造了一种如同Maven般项目构建周期。

java设计dsl的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java设计模式工厂模式、java设计dsl的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-17,除非注明,否则均为首码项目网原创文章,转载请注明出处。