文章详情页
java - 如何方便某个类在以后的拓展中比较方便的添加属性?
浏览:244日期:2023-11-16 15:20:16
问题描述
假设有地图上有一个医院和公路两个标识,而这两个标识拥有属于自己的属性数据:例如 医院有等级、建筑物数量、病人数量,占地面积、名字等属性;公路有名字、等级、长度、建成时间等属性。 即不同类型的地图标识有不同的属性数据,同时也需要考虑将来还会添加新的属性。请问大家,能否说一个大概的设计思路(只是静态类图的设计思路)? PS:我自己想的是通过装饰者模式来实现,但是那样的话在以后的扩展中每当添加一个属性时就要对原来的类再进行一次装饰,或者直接侵入原先设计好的类,添加属性。
问题解答
回答1:haha ,为何不用Dictionary类型,比如说使用map来存储键值对?
回答2:应该要符合开闭原则,一个实体类创建好后最好不要做修改,使用继承就可以了,在原来的属性上增加新的属性,但是又不破坏原来的结构
回答3:对象组合优先于继承
标签:
java
上一条:java常用设计模式下一条:java - 打印电子面单
相关文章:
1. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题2. docker - 如何修改运行中容器的配置3. docker-machine添加一个已有的docker主机问题4. javascript - 怎么实现点击表格中的某一行然后就在表单处出现表格中的对应的属性值啊5. 关于docker下的nginx压力测试6. angular.js - angularjs的自定义过滤器如何给文字加颜色?7. angular.js - angular ui bootstrap 中文显示问题8. java - servlet的init方法和选择Filter的init方法来加载配置文件,二者有何区别?9. docker-compose 为何找不到配置文件?10. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下
排行榜

网公网安备